Lorsque vous utilisez InstallShield Le, le MSI contient une version obsolète d'un assemblage, mais des versions actuelles des autres

StackOverflow https://stackoverflow.com//questions/9675367

Question

J'utilise Visual Studio 2010, InstallShield Le sur une solution avec environ 10 projets totaux.

J'ai choisi la sortie principale du projet principal de l'interface graphique de la partie "Fichiers", installée à un sous-répertoire de fichiers de programme, jolie standard.

J'ai construit l'installateur il y a quelques semaines et l'ai installé sur ma machine à tester, tout fonctionnait bien. Depuis lors, j'ai apporté des modifications à chaque projet de la solution. Aujourd'hui, j'ai incrémenté ma version de montage et reconstruit mon projet de configuration pour continuer à tester.

Après l'installation, dans le répertoire d'installation des fichiers de programme, j'ai remarqué que l'un des assemblages de mon projet répertorie toujours la version précédente, 1.0.0.0 et la date de fichier est de plus d'un mois. Les autres assemblages de l'annuaire affichent les versions actuelles et la date modifiée actuelle.

J'ai essayé de supprimer chaque dossier bin et obj dans mon répertoire de solution et le dossier du projet d'installation. Je me suis réinstallé mais le problème reste.

J'ai cherché google, mais comme le problème est étrange, une bonne phrase de recherche a été insaisissable.

Évidemment, j'ai besoin de la version la plus récente de mes assemblées à inclure dans le MSI d'installateur.

Merci pour toute aide ou suggestion!

Était-ce utile?

La solution

Vous devez faire deux choses: extraire le fichier réel dans le MSI pour savoir si le binaire mis à jour est présent dans le MSI et obtenez un journal verbeux de l'installation à la recherche de ce que Windows Installer dit sur le composant contenant l'assemblageDans la question.BTW, vous avez chaque fichier d'assemblage comme fichier clé de son propre composant, n'est-ce pas?Windows Installer vérifie uniquement les mises à jour de la version pour les chemins.

Autres conseils

vous voudrez lire:

Version de fichier par défaut

Remarque: Assurez-vous que vous comparez AssemblageFileVersion.Ce n'est pas l'attribut Assemblyversion qui est important que l'attribut AssemblyFileVersion.Le premier est utilisé par le GAC et les contrats de noms forts, tandis que la dernière mesure de la structure de fichiers native Windows Native.

J'ai déjà eu le même problème avec le projet de configuration du VS.Je revérifierais les références d'assemblage dans votre solution qui font référence au projet avec l'ancienne DLL.Vous devriez simplement être capable de regarder la fenêtre Propriétés pour voir la version à laquelle il se réfère.Dans mon cas, cela ferait référence à la DLL dans le dossier bin d'un autre projet, plutôt que le projet lui-même.

Je sais que vous avez supprimé tous vos dossiers BIN et OBJ, mais cela vaut probablement la peine d'essayer.

Si vous trouvez la référence à problèmes, supprimez-la et re-ajoutez-la et vous devriez être bon.

Dump InstallShield and Go avec wix .. vous ne regarderez jamais en arrière.

Wix a par exempleMise à niveau pour vous aider à contrôler les vérifications de la version sur les fonctionnalités.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top