Зависимости развертывания COM - PullRequest
2 голосов
/ 24 февраля 2010

Я столкнулся с проблемой, когда не удается зарегистрировать COM dll, который я распространяю с моим приложением, потому что atl.dll не зарегистрирован на машине.

Быстрое решение - запустить regsvr32 на dll, но я хочу что-нибудь более чистое.

У меня нет большого опыта в развертывании, и мне было интересно, есть ли способ, которым я мог бы определить, зарегистрирован ли atl.dll на машине, и если нет, я мог бы зарегистрировать его из кода.

В настоящее время у меня есть настраиваемое действие C # для моего установщика msi, поэтому я мог бы добавить туда логику для выполнения задачи.

Заранее спасибо.

1 Ответ

2 голосов
/ 25 февраля 2010

Вам нужно будет включить правильный Модуль слияния с вашим установщиком. Они будут установлены на C:\Program Files\Common Files\Merge Modules. Если вы не нашли требуемые файлы, вы, вероятно, не установили функцию «Вторично распространяемые компоненты» ни в Windows SDK , ни в Visual Studio (я думаю, по умолчанию она не выбрана)

  • ATL90.DLL можно найти в Microsoft_VC90_ATL_x86.msm
  • ATL80.DLL можно найти в Microsoft_VC80_ATL_x86.msm
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...