Closed sergey-s-betke closed 11 years ago
Оформить это решение лучше в виде отдельного файла, и подключать созданную в нём группу компонентов в приложения пакета, в моём случае - во все.
Ещё один момент - функции самовосстановления пакета будут инициированы только при его запуске, которого не будет, пока не будет применена процедура "очистки", здесь описанная. Посему это решение поможет только после явного нажатия "Восстановить" в аплете установки и удаления программ.
О реестре проводника: речь идёт о следующей ветке:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.csmdb23\OpenWithProgids]
"RCN.CSM.Bootstrapper.2.3"=hex(0):
Выше приведено корректное и достаточное содержание. Мне кажется целесообразным банальное удаление ветки HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.csmdb23
.
Кроме этого, из реестра пользователя (даже если установка осуществляется на машину) следует удалять лишние записи из ветки SOFTWARE\Classes\.csmdb23
. Как минимум - из OpenWithProgIds
, и как минимум - удалять запись csmdb23_auto_file
. Ну и собственно SOFTWARE\Classes\.csmdb23\csmdb23_auto_file
тоже следует удалять.
Если до установки приложения открыть файл
.csmdb23
, Windows 8 автоматически зарегистрирует в реестре пользователя ProgIdcsmdb23_auto_file
и свяжет тип файла с этим ProgId. Кроме того, в реестре проводника так появится ассоциация с указанным ProgId (OpenWithProgId
).Посему при установке следует проверять наличие подобных записей в реестре пользователя (именно - пользователя), и удалять их. А для того, чтобы все эти действия были выполнены под каждым пользователем, в качестве ключа следует использовать реестр пользователя.
Склоняюсь к тому, что при установке всю ветку
.csmdb
из реестра проводника лучше просто удалить.