2010-06-27 1 views
9
<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 удаляются при удалении. Как я могу предотвратить это?Как предотвратить удаление Wix записей реестра при удалении?

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

+0

Какова цель удаления данных в реестр после удаления программы? – kiamlaluno

+1

Когда приложение будет установлено снова, оно может восстановиться. – Rohit

+2

Я дал вам указатель на то, что может работать ниже. Но я согласен с kiamlaluno, ваш деинсталлятор должен сделать все возможное, чтобы машина была в чистом состоянии, когда она удаляет вас. Поскольку, если ваши настройки повреждены и приводят приложение в плохое состояние, классическое решение «удалить, а затем переустановить» не будет работать. – selbie

ответ

12

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

Permanent YesNoType  

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

 Смежные вопросы

  • Нет связанных вопросов^_^