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

Running msi causes “module failed to register” in 32bit win7,but works in 64bit win7

本文关键字:win7 失败 64位 工作 注册 但在 运行 32位 msi 导致 模块      更新时间:2023-10-16

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

"模块abc注册失败。"HRESULT -2147010895。请联系技术支持工程师。"

注册失败的模块是一个c++ . com dll。但在x64平台上它工作得很好。当我将解决方案的targetPlatform更改为x86,并将dll替换为win32 dll版本,然后安装在32位win7计算机上时,我得到了"模块注册失败"。顺便说一下,我将dll的寄存器属性设置为vsdrfCOMSelfReg的值。

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

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

包括合并模块将无法工作,因为您正在使用安装中的SelfReg,并且在安装中注册发生时它们不可用。