Le package d’installation .NET peut parfois ne pas supprimer complètement les versions précédentes

Je dissortingbue mon application à l’aide d’un package d’installation VS2008, qui fonctionne normalement très bien. Lorsque je crée de nouvelles versions de l’application, RemovePreviousVersions et incrémente la propriété Version du package d’installation et vérifie que la propriété RemovePreviousVersions est définie sur True.

Cela fonctionne très bien la plupart du temps – je viens d’exécuter le package d’installation pour la version la plus récente. L’ancienne version est désinstallée et la version la plus récente le remplace.

Cependant, il peut arriver que le package d’installation s’exécute correctement, mais lorsque je lance le programme, l’ancienne version démarre. Apparemment, l’ancienne version du fichier .exe est toujours présente.

Je finis par désinstaller complètement le logiciel et installer la nouvelle version, qui fonctionne toujours, mais cela pose un problème.

Le fichier n’est pas utilisé pour autant que je sache et le package d’installation ne me dit pas de redémarrer.

Des idées sur ce qui se passe ici?

Pas une réponse directe, mais la principale différence entre une mise à niveau et une désinstallation + une réinstallation est que toutes les étapes de désinstallation personnalisées ne sont pas appelées dans 2k8 mais le sont dans 2k5.

Ceci est référencé dans Visual Studio 2005 -> 2008/10, problème de mise à niveau du projet d’installation du service

L’autre différence liée à ceci est que dans 2k8, les fichiers sont mis à niveau en fonction de la ressource d’informations sur la version – si vos modules n’ont pas de version plus récente, ils ne sont pas remplacés.

Dans certains cas, le fait que votre nom soit fort ait également des effets, mais je suis assez confiant que le dernier paragraphe couvre le problème que vous rencontrez.

la seconde est en utilisant orca

Orca est un utilitaire pour modifier les fichiers msi.

Vous pouvez télécharger ‘Orca’ à partir des liens suivants. http://www.softpedia.com/get/Authoring-tools/Setup-creators/Orca.shtml

Pas:

  a. Install orca into your computer. b. Open orca c. Drag and drop your msi into orca UI d. Into left panel it will list the name of tables e. select property table f. go to right panel and right click g. click on 'Add Row' h. into 'Property' type REINSTALLMODE i. into 'Value' type amus j. save msi file k. and that's it 

Désormais, lors de l’installation, tous les fichiers seront écrasés.

Nous devons définir la propriété REINSTALLMODE de notre fichier msi sur amuser.

Vous trouverez ci-dessous le lien pour en savoir plus sur la signification de ‘amuser’ http://msdn.microsoft.com/en-us/library/aa371182%28VS.85%29.aspx

Il y a deux façons de le faire.

  1. En utilisant msiexec.exe fourni avec le Kit de développement .NET (si vous avez VS 2005 ou 2008, il vous suffit de naviguer jusqu’à l’invite de commande de visual studio pour le trouver).

Une fois que vous avez trouvé msiexec.exe, il vous suffit de taper la commande suivante pour définir la propriété REINSTALLMODE de manière à ce que votre installateur soit amusé.

msiexec.exe / i foo.msi REINSTALLMODE = amuser