Пост билд визуальный студийный шаг вообще не вызывается - PullRequest
0 голосов
/ 14 ноября 2008

В общем, я построил установщик в visual studio, который выдал мне эту радостную ошибку при попытке использовать программу:

Получение фабрики класса COM для компонент с CLSID {EC10E7E8-797E-4495-A86D-3E9EADA6D5BB} не удалось из-за следующей ошибки: 80040154.

Исходя из этого, мне кажется, что мне нужно встроить манифест в исполняемый файл и для этого добавить в качестве события после сборки следующее:

"$ (DevEnvDir) .... \ VC \ bin \ mt.exe" -manifest "$ (ProjectDir) $ (TargetName) .exe.manifest" -outputresource: "$ (TargetDir) $ (TargetFileName)"; # 1

Хорошо, когда я делаю это и строю решение, событие вообще не вызывается. На самом деле, я могу поместить любой старый случайный текст в события до и после события, и при этом не выдается никакой ошибки, и я не вижу ничего вызываемого.

Есть ли что-то, что я должен делать по-другому, чтобы сделать эту работу?

Дополнительная информация:

Я строю из IDE. И когда я переключаю типы сборки в режим отладки и выпуска, я все еще использую правильную команду в событиях после сборки.

Есть ли способ увидеть журнал того, что он делает?

Ответы [ 3 ]

1 голос
/ 14 ноября 2008

Tool + Options, Project and Solutions, Build and Run, установите для "MSBuild Project buildbobity" значение Подробно. Вы получите тонну диагностики в окне вывода.

FWIW, сообщение об ошибке, которое вы получаете, является простой ошибкой «класс не зарегистрирован». Исправить с помощью Regsvr32.exe

0 голосов
/ 14 ноября 2008

Вот что сработало. По-видимому, вам не нужно запекать манифест в программу. Достаточно было включить манифест в пакет msi, а также включить DLL, пропущенную средством проверки зависимостей.

Как и большинство простых вещей, когда вы знаете: -)

Почему не вызываются шаги пост-сборки, я не знаю, но реальная проблема решена.

0 голосов
/ 14 ноября 2008

две догадки:

  • сборка не удалась
  • Ваши события post / pre build определены в конфигурации проекта, которая не собирается, как вы определяете свои события в сборке «отладка», но строите сборку «release».

вы строите решение из командной строки или что-то в этом роде?

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