我试图让微软的COM组件的免费激活:演练示例在windows 7 Professional /64位计算机上运行。我下载了演示程序MSDNRegFreeCOM.msi。
我让它使用VS2008SP1在我的XP-32文本框上正确构建和运行。但是当我将工作32位演示程序复制到我的windows 7机器上时,它会出现0x80040154错误。此错误意味着未注册类。但是,不向Windows显式注册此对象是此特定com对象的要点,因此请不要告诉我要向windows注册此对象。
有谁知道有什么特别的事情要用这个做windows 7吗?
编辑下面的评论,我一直在使用一个外部清单文件(client.exe.manifest)。但是,当我从示例中复制该示例时,它对我不起作用。密码是-
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1"
manifestVersion="1.0">
<assemblyIdentity
type = "win32"
name = "client"
version = "1.0.0.0" />
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="SideBySide"
version="1.0.0.0" />
</dependentAssembly>
</dependency>
</assembly>发布于 2010-08-25 13:42:56
Windows 7首先读取内部清单文件,然后读取外部清单。Windows的情况正好相反。
http://blogs.msdn.com/b/junfeng/archive/2009/05/11/internal-manifest-vs-external-manifest.aspx
将外部清单合并到内部清单中可以通过运行(在"Visual 2008命令提示符“窗口中)完成:
mt.exe -nologo -manifest client.exe.manifest -updateresource:"client.exe;#1"
https://stackoverflow.com/questions/3566355
复制相似问题