Как запретить Wix удалять записи реестра при удалении? - PullRequest
9 голосов
/ 27 июня 2010
 <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>

Подразделы InstallDir и DataDirectory удаляются при удалении.Как мне предотвратить это?

В идеале Action = "create" должен это сделать.

1 Ответ

15 голосов
/ 27 июня 2010

Установить атрибут Permanent = "yes" в родительском компоненте.

http://wix.sourceforge.net/manual-wix3/wix_xsd_component.htm

Permanent    YesNoType      

Если для этого атрибута установлено значение «да», программа установки не удаляет компонент во время удаления. Установщик регистрирует дополнительного системного клиента для компонента в настройках реестра установщика Windows (что в основном означает, что по крайней мере один продукт всегда ссылается на этот компонент). Обратите внимание, что этот параметр отличается от поведения не установки guid, потому что, хотя компонент является постоянным, он все еще может быть исправлен (потому что установщик Windows все еще отслеживает его), он просто не удаляется

...