Используйте Visual Studio Setup Project для автоматической регистрации и GAC COM Interop DLL - PullRequest
27 голосов
/ 21 июня 2010

Я создал сборку .NET для COM-взаимодействия, и она хорошо работает на моей машине для разработки. В настоящее время я пытаюсь выяснить, как развернуть DLL на целевой машине с помощью «Setup Project» в Visual Studio. Как я могу использовать проект установки VIsual Studio для следующих действий:

  • Зарегистрировать сборку (в настоящее время используется regasm).
    • Сборка должна быть успешно зарегистрирована , а библиотека типов (.tlb) должна быть успешно зарегистрирована .
    • В этом ответе предлагается отказаться от regasm в пользу пользовательского кода. Я это хорошая идея? Если да, то как этот код включается в проект установки?
    • В этом ответе предлагается использовать команду /regfile для regasm, а затем использовать инструмент импорта реестра в проекте установки. Будет ли это работать?
  • Установить сборку в GAC (в настоящее время используется gacutil)
    • Мне известно о «Глобальной папке кэша сборок» в «Файловая система на целевой машине». Что-нибудь особенное, что мне нужно сделать, включая сборку в проекте установки?

Любой другой совет или проблемы будут высоко оценены.

1 Ответ

34 голосов
/ 21 июня 2010

Gacutil.exe не будет доступен на целевом компьютере. Не проблема, MSI может выполнить работу. Щелкните правой кнопкой мыши «Файловая система на целевой машине», «Добавить», GAC. Щелкните правой кнопкой мыши по этой добавленной папке, Добавить, Вывод проекта. Это гарантирует, что сборка заточена.

Он также может зарегистрировать сборку, как это делает Regasm.exe. Установите для свойства Register выходной ссылки проекта значение vsdrpCOM.

...