2008-12-21 8 views
1

Je construis un paquet d'installation en utilisant VS2008. Il s'agit d'un package d'installation standard qui installe une application COM Add-In pour Outlook. Cela fonctionne Ok, jusqu'ici. Cependant, j'ai besoin de l'améliorer un peu ...Comment: copier un assembly dépendant s'il n'est pas dans GAC?

L'histoire est que le paquet d'installation copie tous les assemblages dépendants dans le dossier d'installation du complément.

Par exemple, le complément COM dépend de l'assembly Microsoft.Office.Interop.Outlook.dll. Donc, le paquet d'installation le copie dans son dossier :)

Bien sûr, je peux passer la propriété Exclude de la dépendance Microsoft.Office.Interop.Outlook.dll à True, ce qui empêchera la copie de l'assembly. Cependant, je dois obtenir le comportement suivant:

  • En cas Microsoft.Office.Interop.Outlook.dll est pas GAC, nous suffit de copier dans le dossier d'installation de l'Add-In
  • Dans le cas contraire, utiliser celui qui est dans GAC

Veuillez suggérer la façon dont ti peut être fait dans .Net2.0? Un guide étape par étape sera vraiment apprécié.

Répondre

2

Il vous suffit de toujours le copier dans le dossier. Si c'est déjà dans le GAC, l'assembly GAC sera utilisé en premier. En d'autres termes, le moteur d'exécution vérifie d'abord le GAC. Ensuite, vérifie la base de l'application, etc.

http://msdn.microsoft.com/en-us/library/yx7xezcf(VS.71).aspx

Questions connexes