2008-11-13 61 views
0

长的是我建在Visual Studio中给了我这个愉快的错误的安装,当我试图使用的程序:后生成的Visual Studio一步不会被调用所有

Retrieving the COM class factory for component with CLSID {EC10E7E8-797E-4495-A86D-3E9EADA6D5BB} failed due to the following error: 80040154.

从它似乎我需要嵌入清单中的可执行文件,这样做,我应该添加如下面的一个后生成事件:

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

好吧,当我做到这一点,构建解决方案的情况下不会被调用的。事实上,我可以在事件前后发布任何旧的随机文本,并且不会给出任何错误,也不会看到任何被调用的内容。

有什么我应该做的不同,使这项工作?

附加信息:

我从IDE构建。当我切换构建类型进行调试和发布时,我仍然在后构建事件中使用正确的命令。

有没有办法看到它在做什么的日志?

回答

0

2个猜测:

  • 打造的是没有成功
  • 您的文章/生成事件在没有正在建造,像你在“调试”定义你的活动项目配置预定义建,但正在构建“发布”版本。

你是从命令行或类似的东西构建解决方案吗?

1

工具+选项,项目和解决方案,生成和运行,将“MSBuild项目生成输出详细”设置为详细。您将在“输出”窗口中获得大量诊断信息。

FWIW,您收到的错误消息是一个简单的“类未注册”错误。修复Regsvr32.exe

+0

甜。谢谢。我不知道那件事。 – 2008-11-14 17:48:24

0

这是什么工作。你显然不需要把清单烧成程序。将清单包含到msi包中并包含依赖检查程序错过的DLL就足够了。

最喜欢的事情这么简单,一旦你:-)

知道为什么后生成不被称为步骤我不知道,但真正的问题就解决了。

相关问题