Как предотвратить удаление записей реестра на Uninstall?
Вопрос
<RegistryKey Id="MyServerRegInstallDir" Root="HKLM" Key="Software\MyApp\Server" Action="create">
<RegistryValue Name="InstallDir" Type="string" Value="[INSTALLDIR]" />
<RegistryValue Name="DataDirectory" Type="string" Value="[MYAPPDATADIR]" />
</RegistryKey>
Subkeys InstallDir и DataDirectory удаляется в удалении. Как мне это предотвратить?
Идеально действие = «создание» должно сделать это.
Решение
Установите атрибут постоянного = «Да» на родительском компоненте.
http://wix.sourceforge.net/manual-wix3/wix_xsd_component.htm.
Permanent YesNoType
Если этот атрибут установлен на «Да», установщик не удаляет компонент во время удаления. Установщик регистрирует дополнительный системный клиент для компонента в настройках реестра установщика Windows (который в основном означает, что хотя бы один продукт всегда ссылается на этот компонент). Обратите внимание, что эта опция отличается от поведения не устанавливает GUID, потому что, хотя компонент является постоянным, он все еще исчезнет (поскольку установщик Windows все еще отслеживает его), он просто не удален.