2010-06-21 3 views
3

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

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

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

ответ

0

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

0

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

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

Смежные вопросы