2010-05-08 17 views
1

Nous avons récemment publié une mise à jour d'une de nos applications avec une DLL de "test" provenant d'un tiers. Le tiers ne met pas à jour ses versions d'assemblage sur les dll, uniquement les versions de fichier, de sorte que plusieurs applications peuvent référencer différentes "versions" de celui-ci. Cependant, le GAC nous permet toujours de conserver la version la plus récente, car elle vérifie également la version du fichier qui est toujours mise à jour.Utilisation de installshield pour remplacer une DLL avec la même version dans le GAC

Ce qui s'est passé, c'est que nous n'étions pas prêts à sortir cette DLL, mais elle est sortie sur certaines machines client. J'aimerais mettre à jour notre version actuelle, mais elle a une version de fichier plus ancienne (et la même version d'assemblage) que la DLL de test. Nous avons plusieurs applications faisant référence à cette DLL, donc je ne peux pas simplement la supprimer et la déposer dans la nouvelle.

Existe-t-il un moyen de remplacer la DLL dans le GAC? J'utilise installshield 2009. Peut-être une sorte d'action personnalisée lors de l'installation?

Répondre

0

Pouvez-vous faire suivant

  1. Vérifiez dans le respect de gacutil.exe /lr qu'il n'y a pas de référence à l'ancienne version de la DLL
  2. Vérifiez qu'il ya des informations processorArchitecture sur l'ancienne version de l'assemblage dans le package MSI . (Voir http://community.flexerasoftware.com/showthread.php?t=154839&page=2)
  3. Vérifiez que l'ancienne version de votre DLL sera supprimée lors de la désinstallation.

Regardez http://kb.flexerasoftware.com/selfservice/viewContent.do?externalID=Q111094