GAC сборка без встраивания ее в MSI - PullRequest
3 голосов
/ 21 июня 2010

Я хочу, чтобы GAC уже присутствовал на целевых машинах, я знаю, где эта сборка на каждой машине (можно предположить, что путь статичен для всех целевых машин и не изменится, и что я являюсь владельцем этой сборки)Я не хочу включать сборку, которая будет GAC, в MSI, поскольку она может меняться при каждом развертывании решения, и мы не хотим, чтобы наша установка изменялась каждый раз.Я попытался использовать тег <File> с Assembly = ". Net"

<File 
    Id="Assembly.dll"
    Name="Assembly.dll"
    Assembly=".net" 
    Source="Assembly.dll"
    KeyPath="yes" >
 </File>

, но с помощью File встраивает мою сборку в MSI.Любые идеи о том, как просто сказать MSI искать сборку в определенном месте и не включать ее?

Ответы [ 2 ]

0 голосов
/ 13 октября 2010

Похоже, что это нечетный запрос, но способ сделать это - написать файл сценария / пакетного файла в GAC-файл. Проверьте это самостоятельно без MSI. После работы включите сценарий в MSI, а затем выполните сценарий как пользовательское действие, выполняемое при установке. Вы также хотели бы удалить его из GAC при удалении.

Если вы используете проект установки Visual Studio, щелкните проект правой кнопкой мыши и выберите «Просмотр» -> «Пользовательские действия». Оттуда вы сможете добавлять действия для соответствующих событий (установка, удаление и т. Д.).

0 голосов
/ 11 июля 2010

Это не поддерживается установщиком Windows. Не сразу понятно, почему вы хотите взять чужой файл и поместить в GAC (если это был ваш файл, почему бы не поместить его в GAC для начала?) :)

...