2010-06-27 14 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> 

Las subclaves InstallDir y DataDirectory se eliminan durante la desinstalación. ¿Cómo lo evito?¿Cómo evitar que Wix elimine las entradas de registro en la desinstalación?

Idealmente Acción = "crear" debe hacerlo.

+0

¿Cuál es el propósito de dejar datos en el registro después de eliminar el programa? – kiamlaluno

+1

Cuando la aplicación se instala nuevamente puede recuperarse. – Rohit

+2

Te he dado un puntero a algo que podría funcionar a continuación. Pero estoy de acuerdo con kiamlaluno, su desinstalador debe hacer todo lo posible para poner la máquina en un estado limpio cuando se desinstala. Porque si la configuración está dañada y hace que la aplicación entre en mal estado, la solución clásica "desinstalar y reinstalar" no funcionará. – selbie

Respuesta

12

Establezca el atributo Permanent = "yes" en el componente primario.

Permanent YesNoType  

Si este atributo se establece en 'sí', el programa de instalación no quita el componente durante una desinstalación. El instalador registra un cliente de sistema adicional para el componente en la configuración de registro de Windows Installer (que básicamente significa que al menos un producto siempre hace referencia a este componente). Tenga en cuenta que esta opción difiere del comportamiento de no configurar un guid porque, aunque el componente es permanente, todavía es parcheable (porque Windows Installer aún lo sigue), simplemente no es desinstalable.

Cuestiones relacionadas