0

我有一个奇怪的微星!!!

我已经在 64 位机器上安装了我的 32 位 msi(target=x86),除了一些 COM dll 无法加载并得到“尝试加载格式不正确的程序。(来自 HRESULT 的异常) : 0x8007000B)”这个错误。

我注意到相同的 COM dll 在开发环境的 64 位机器上运行良好。我不知道为什么 msi 安装的 COM 有问题。

问候,

吉里什

4

2 回答 2

0

如果您使用 InstallShield 创建 MSI,则合并到注册表中的 COM 信息可能位于也可能不在正确的位置。由于 InstallShield 通常会在安装程序构建期间提取注册表信息,并在安装时将其合并到注册表中,因此如果您没有仔细检查,它可能会或可能不会正确。

您需要确保 32 位组件的 COM 信息仅存在于 Wow6432Node 键下。

于 2012-05-14T17:27:57.543 回答
0

您的 C# 程序(exe 项目)必须编译为 x86(32 位)才能加载 x86 库。

于 2012-05-14T16:03:55.033 回答