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

Les sous-clés InstallDir et DataDirectory sont supprimées lors de la désinstallation. Comment puis-je l'empêcher?Comment empêcher Wix de supprimer les entrées de registre lors de la désinstallation?

Idéalement Action = "créer" doit le faire.

+0

Quelle est l'utilité de laisser des données dans le registre après la suppression du programme? – kiamlaluno

+1

Lorsque l'application est à nouveau installée, elle peut être restaurée. – Rohit

+2

Je vous ai donné un pointeur vers quelque chose qui pourrait fonctionner ci-dessous. Mais je suis d'accord avec kiamlaluno, votre programme de désinstallation devrait faire de son mieux pour mettre la machine dans un état propre lors de la désinstallation. Parce que si vos paramètres sont corrompus et que l'application est dans un mauvais état, la solution classique "désinstaller puis réinstaller" ne fonctionnera pas. – selbie

Répondre

12

Définissez l'attribut Permanent = "yes" sur le composant parent.

Permanent YesNoType  

Si cet attribut est réglé sur « oui », le programme d'installation ne supprime pas le composant lors d'une désinstallation. Le programme d'installation inscrit un client système supplémentaire pour le composant dans les paramètres du registre Windows Installer (ce qui signifie simplement qu'au moins un produit fait toujours référence à ce composant). Notez que cette option diffère du comportement de ne pas définir de guid car, bien que le composant soit permanent, il est toujours accessible (car Windows Installer le suit toujours), il n'est tout simplement pas désinstallable.

Questions connexes