2014-07-03 2 views
3

J'ai 2 version de dll (Hello.dll 1.0.0.0 et 2.0.0.0 Hello.dll)Comment supprimer les fichiers cibles GAC lors de l'installation dans Wix

Dans un premier temps, la version 1.0.0.0 Hello.dll sera installé dans le dossier C: \ Windows \ Assembly. Puis, quand je lance mon programme d'installation, la DLL version 2.0.0.0 de Hello.dll sera également installée dans le dossier C: \ Windows \ Assembly.

Alors maintenant dans l'assemblage il y a 2 Hello.dll avec la version différente (1.0.0.0 et 2.0.0.0)

Comment supprimer la version 1.0.0.0 de Hello.dll GAC lors de l'installation, puis installez uniquement Bonjour .dll version 2.0.0.0, parce que je veux juste garder la dernière version de Dll dans GAC au lieu des deux.

Merci

Répondre

2

Je suppose que 1.0.0.0 est installé par un installateur Wix plus tôt vous. Il s'agit ensuite de laisser le nouveau programme d'installation supprimer les anciennes installations avant d'installer le nouveau. Vous pouvez lire sur les mises à niveau dans WiX here et here.

+0

Salut, merci pour votre réponse. Cela fonctionne quand j'applique la mise à niveau importante (l'identification différente de produit, la version et le même code de mise à niveau). D'ailleurs, que diriez-vous si certains fichiers que je ne voulais pas désinstaller? attribut permanent dans l'élément composant? Merci. – user1219310

+0

Le GAC est côte à côte, ce qui signifie que plusieurs versions d'assemblage peuvent coexister. Ce n'est pas comme le système de fichiers "normal". Une mise à niveau est une configuration complète composée de tous les fichiers dont le produit a besoin. Cela fonctionne comme une nouvelle installation et une mise à niveau vers un produit déjà installé. Je suppose que vous croyez qu'une mise à niveau est "juste les fichiers que je veux mettre à jour" mais ce n'est pas le cas, donc la question sur les fichiers que vous ne voulez pas désinstaller n'est pas pertinente. – PhilDW

Questions connexes