Вопрос

Я создаю установочный пакет, используя VS2008.Это обычный пакет установки, устанавливающий приложение надстройки COM для Outlook.Работает, ок, пока.Однако мне нужно его немного улучшить...

История такова, что установочный пакет копирует все зависимые сборки в папку установки надстройки.

Например, надстройка COM зависит от сборки Microsoft.Office.Interop.Outlook.dll.Поэтому установочный пакет копирует его в свою папку :)

Конечно, я могу переключить свойство Exclude зависимости Microsoft.Office.Interop.Outlook.dll на True, что предотвратит копирование сборки.Однако мне нужно добиться следующего поведения:

  • В случае, если Microsoft.Office.Interop.Outlook.dll нет в GAC, просто копируем его в папку установки Надстройки.
  • В противном случае используйте тот, который есть в GAC.

Подскажите, пожалуйста, как это можно сделать в .Net2.0?Пошаговое руководство будет очень оценено.

Это было полезно?

Решение

Просто всегда копируйте его в папку.Если он уже находится в GAC, сборка, созданная GAC, в любом случае будет использоваться в первую очередь.

Другими словами, среда выполнения сначала проверяет GAC.Затем проверяет базу приложений и т.д.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top