Je tiens à m'excuser par avance si j'oublie des détails importants.
Je tente d'effectuer une mise à niveau dans laquelle la version précédente du logiciel (et tous ses composants) doit être supprimée avant l'installation de la nouvelle version.
Je vais essayer de ne pas vous ennuyer avec les détails et dire que si vous faites une installation "typique", tout se passe comme prévu. Si vous choisissez de faire une installation avancée (spécifier l'installation pour tous les utilisateurs, l'emplacement de l'installation, etc.), il semble que l'étape de "désinstallation de la version précédente" soit complètement ignorée.
Jusqu'à présent, j'ai fait ce qui suit :
-J'ai modifié mes balises UpgradeVersion pour suivre les conseils d'une autre question de stackoverflow.
-Vérifiez que la propriété "OLDVERSIONBEINGUPGRADED" est correctement définie.
-Vérifiez que les codes/identifiants de mise à niveau sont les mêmes, que les numéros de version sont séquentiels (mise à niveau de 1.0.8 à 1.0.10) - après tout, l'installation "typique" fonctionne correctement !
-Suivi les conseils donnés ici : WiX-- toujours écraser la version précédente et a suivi ceci : http://wix.sourceforge.net/manual-wix3/major_upgrade.htm
J'ai essayé d'implémenter un hack en appelant manuellement msiexec pour désinstaller une version précédente par son identifiant produit (cela a échoué parce que nous étions déjà en train d'installer quelque chose - y a-t-il une meilleure façon de planifier cela ?)
Ma section Produit / Mise à niveau ressemble à ceci :
<Product Id="GUID1" UpgradeCode="GUID2" Version="1.0.10.0">
<Package Compressed="yes" InstallerVersion="200"/>
<MajorUpgrade Schedule="afterInstallInitialize"
DowngradeErrorMessage="Another version of [ProductName] is already installed."/>
<Upgrade Id="GUID2">
<UpgradeVersion Minimum="1.0.10" OnlyDetect="yes"
Property="NEWERVERSIONDETECTED" />
<UpgradeVersion Maximum="1.0.10" IncludeMaximum="no"
Property="PREVIOUSVERSIONINSTALLED" />
</Upgrade>
Je suis un novice de Wix, il se peut donc que j'aie négligé des détails importants en décrivant mon problème. Si j'ai négligé d'inclure quelque chose d'important, veuillez me le faire savoir.
Merci d'avance pour toute contribution que vous pourrez apporter.