2

Je ne l'ai pas vu ce problème lors de la navigation sur le web, donc la voici:VS2010 projet d'installation MSI

J'ai utilisé le fichier .msi (vs clic droit -> Installer, une option sur le projet d'installation) à installez le produit "Version 1.0.7" sur mon ordinateur.

J'ai ensuite changé ma "Version" en 1.0.8, et tous les projets Assembly Version/AssemblyFileVersion propriétés à 1.0.8.0. J'ai supprimé l'ancienne sortie primaire et en ai ajouté une nouvelle où j'ai vérifié que la version était correcte dans la liste étendue KeyOutput. J'ai fait cela parce qu'il ne s'est pas mis à jour après avoir changé toutes les versions d'assemblage en 1.0.8.0, et il est resté à 1.0.7.0 (la version précédente).

J'ai construit mon projet d'installation et suis allé à mon dossier qui contenait le nouveau fichier .msi 1.0.8. J'ai double-cliqué et obtenu le "Application existe déjà, supprime existant dans Ajout/Suppression de programmes" (ou similaire) de dialogue, et il a arrêté l'installation.

Alors j'ai vérifié mon:
ProductCode -Ils étaient les mêmes entre les nouvelles versions/vieux,
UpgradeCode -De même,
RemovePreviousVersion propriété définie sur vrai entre les deux versions. C'est ce que j'ai vérifié parce que je trouvais généralement une solution dans toutes mes autres recherches, mais cela ne fonctionnait pas. J'ai donc désinstallé la version 1.0.7, installé 1.0.8 et tout a bien fonctionné. Toujours pas résolu mon problème où je ne devrais pas obtenir le premier message unistall. Note: J'ai installé sur "Tout le monde".

J'unistalled 1.0.8 à nouveau (à ce stade, aucune version existent/sont installés), et essayé ceci:
1. Installez 1.0.7 du fichier .msi ou Installer 1.0.7 en cliquant droit dessus est projet d'installation et en utilisant l'option "Installer".
2. Cliquez avec le bouton droit sur le projet d'installation 1.0.8 et utilisez l'option Installer à partir de là.
3. Pas d'erreurs/boîtes de dialogue apparaissent, l'ancienne version semble avoir été désistée d'abord, puis j'ai continué avec l'installation et la nouvelle version était sur l'ordinateur. C'est ce que je veux!

Comme vous pouvez le voir ici, j'ai besoin de pouvoir utiliser le fichier .msi 1.0.7 pour l'installer, puis quand j'ai besoin de correctif/correctif/mise à jour, je dois pouvoir 1.0.8 .msi pour ne pas afficher un "Existe déjà" et remplace/fusionne juste, mais cela ne se produit pas à moins que j'utilise VS2010 Clic Droit> Installer sur le projet d'installation.



Toute aide est appréciée.


modifier ajouté bolding

Répondre

4

Modifier la valeur ProductCode entre les deux versions. En savoir plus sur major upgrades

+0

Cela a fonctionné, j'ai découvert. Cependant, changer seulement le numéro de build est considéré comme une mise à jour majeure? Je pensais juste faire de petits changements serait juste considéré comme un patch ... – Kcvin

+0

Je viens de faire beaucoup de tests, et vous devez également mettre à jour le numéro de version du projet d'installation ... – ganders

0

L'installation d'une mise à niveau mineure (ce qui est le cas lorsque vous modifiez ProductVersion mais pas ProductCode) nécessite de spécifier REINSTALL si et seulement si une version précédente est présente sur la machine. Il existe des moyens de le faire pour les scénarios lancés par l'explorateur en le spécifiant dans la table des propriétés et en l'effaçant avec une action personnalisée, mais il est beaucoup plus courant de le gérer avec un lanceur ou en utilisant une mise à niveau majeure.

Questions connexes