2008-11-21 8 views
9

J'ai vu un comportement confus concernant les fichiers MSI générés par un fichier VDPROJ. Si je construis mon MSI dans Visual Studio, puis clique avec le bouton droit de la souris et sélectionne "Installer" dans Visual Studio, il désinstallera automagiquement toute version déjà installée, puis installera le nouveau MSI. Cependant, si vous prenez le fichier MSI généré et l'exécutez directement, il se plaindra si une version précédente est déjà installée. Je dois le désinstaller explicitement (dans Ajout/Suppression de programmes) en premier.Mise à niveau automatique de VDPROJ par rapport à la désinstallation/réinstallation

Quelle est la situation? Y a-t-il un argument de ligne de commande dans lequel Visual Studio exécute le MSI?

Répondre

9

Oui visuel Stuido sera passer la [REINSTALLMODE] (http://msdn.microsoft.com/en-us/library/aa371182(VS.85).aspx) et [REINSTALL] (http://msdn.microsoft.com/en-us/library/aa371175(VS.85).aspx) propriétés à l'installateur de fenêtres quand il exécute votre installation

quelque chose comme:

msiexec /i your.msi REINSTALLMODE=vomus REINSTALL=ALL 

Vérifiez MSDN documents liés ci-dessus pour voir ce que ces options font

Éditer:
Maintenant, je viens d'y penser Studio peut également simplement désinstaller votre application ation d'abord en utilisant la/x ligne de commande arg

msiexec /x <package> or <product code> 

Peut-être que quelqu'un d'autre peut confirmer ce qui est utilisé?

+0

Merci. C'est la réponse que je cherchais. (J'aime ce site!) – dviljoen

Questions connexes