Même après un redémarrage, le service est toujours là, même si le fichier exécutable est parti. J'utilise WIX version 3.0.5419.0Pourquoi mon service n'est-il pas supprimé lors de la désinstallation? (WIX)
<Component Id="IdiomServer.exe" Guid="7a751e1e-5e9e-41d2-be60-dc905ab1ccad">
<File Id="IdiomServer.exe" Source="$(var.IdiomServer.TargetDir)IdiomServer.exe" KeyPath="yes" />
<ServiceInstall Id="IdiomServer_Service" Name="IdiomServer 4.0" Account="LocalSystem" Description="Idiom Repository Server" ErrorControl="normal" Start="auto" Type="ownProcess" Vital="yes" />
<ServiceControl Id="IdiomServer_Service" Name="IdiomServer 4.0" Remove="uninstall" Stop="uninstall" Wait="yes" />
</Component>
L'installation du service Windows fonctionne correctement. La désinstallation semble ne rien faire. Section du fichier journal de la désinstallation:
MSI (s) (D8:5C) [09:43:58:033]: Doing action: StopServices
MSI (s) (D8:5C) [09:43:58:033]: Note: 1: 2205 2: 3: ActionText
Action start 9:43:58: StopServices.
Action ended 9:43:58: StopServices. Return value 1.
MSI (s) (D8:5C) [09:43:58:033]: Doing action: DeleteServices
MSI (s) (D8:5C) [09:43:58:033]: Note: 1: 2205 2: 3: ActionText
Action start 9:43:58: DeleteServices.
Action ended 9:43:58: DeleteServices. Return value 1.
Toute aide serait grandement appréciée.
Fermez.Le problème n'était pas les identifiants mais le Component/@ Guid. Une fois que j'ai changé cela, la désinstallation fonctionne bien. Le Guid du composant de service doit apparemment être modifié avec Product/@ Id lors de la création d'une nouvelle version du produit. –
Ce n'est pas vrai. Changer le composant/@ Guid signifie que toutes les ressources contenues dans le composant doivent également changer. C'est une restriction MSI communément appelée "Règles des composants". Vous verrez un comportement de mise à niveau et de désinstallation très bizarre lors du changement de Component/@ Guids. Un fichier journal détaillé de la désinstallation d'origine doit indiquer pourquoi ServiceControl n'a pas supprimé votre service. –
Voir l'entrée de blog de Rob, http://robmensching.com/blog/posts/2003/10/18/Component-Rules-101, pour une description de la raison pour laquelle la modification de l'ID de composant sans changer les ressources est une mauvaise chose. – Martin