C++ 运行msi导致“;模块注册失败”;在32位win7中,但在64位win7中工作

C++ 运行msi导致“;模块注册失败”;在32位win7中,但在64位win7中工作,c++,windows,dll,windows-installer,C++,Windows,Dll,Windows Installer,我正在尝试部署我的项目并创建安装程序。我已经在vs2005中创建了一个msi文件。运行.msi安装向导时,我遇到错误: “模块abc注册失败。HRESULT-2147010895。请与您的支持人员联系。” 登记失败的模块是C++ COM DLL。但是在X64平台上,它工作得很好。当我把解决方案的TAGEL平台改为X86,并将DLL替换为Win32 DLL版本,然后安装在32位Win7计算机上时,我得到“模块登记失败”。顺便说一下,我将dll的register属性设置为vsdrfCOMSelfRe

我正在尝试部署我的项目并创建安装程序。我已经在vs2005中创建了一个msi文件。运行.msi安装向导时,我遇到错误:

“模块abc注册失败。HRESULT-2147010895。请与您的支持人员联系。”

登记失败的模块是C++ COM DLL。但是在X64平台上,它工作得很好。当我把解决方案的TAGEL平台改为X86,并将DLL替换为Win32 DLL版本,然后安装在32位Win7计算机上时,我得到“模块登记失败”。顺便说一下,我将dll的register属性设置为vsdrfCOMSelfReg的值


有人知道这个问题的解决方案吗?谢谢

您很可能没有安装所需的VC++运行时支持文件。目标机器将需要您正在使用的任何VC++运行时体系结构,x64或x86


包含合并模块将不起作用,因为您正在安装中使用SelfReg,并且在安装中进行注册时这些模块不可用

首先尝试使用Regsvr32手动执行,您可能会得到更好的错误消息。可以是任何内容。当使用Regsvr32注册dll时,显示“应用程序无法启动,因为其并行配置不正确。有关详细信息,请参阅应用程序事件日志或使用命令行sxstrace.exe工具。”“请参阅应用程序事件日志”@Hans其中是“应用程序事件日志”,我就是找不到。是的,你是对的。这篇文章真的帮了我的忙。