1

我们正在新的 Win 7 64 虚拟机上测试应用程序部署。

到目前为止,我们安装了 vc_redist_x86 并且我们的 32 位应用程序运行没有问题。

现在,随着我们转向 64 位构建,我们的先决条件安装程序安装了 Visual Studio 2012 的 vc_redist_x86 和 vc_redist_x64。

此设置允许我们运行 64 位测试应用程序,但这会破坏我们的 32 位构建。

可执行文件生成 0xC000007B 消息。

现在奇怪的部分:dependency walker 显示 msvcr110.dll 是 64 位的。依赖步行者 (全分辨率)

两个 redist 都显示在程序中。然后我尝试卸载正确完成的 64 位 redist,但依赖 walker 显示相同的问题,因为它没有效果。

我只有在还原 VM 并仅安装 x86 redist 时才能使用它

4

1 回答 1

0

答案仍不清楚,但与 InstallShield 的安装程序有关。

当我们通过单独的先决条件安装程序安装依赖项时,当同时选择 vcredists 和 msvcr 的合并模块时,它似乎会产生不稳定的设置。

删除合并模块并完全依赖 vcredist 似乎现在可以工作了。

(注意:InstallShield 2012 Spring LE 中 vcredist x86 2012 的 prq 似乎也有问题,因为它从未由安装程序安装,可能是由于 prq 操作系统条件的问题。建议使用来自2010 redist prq,这对我们有用。由于提供的 LE 版本作为微软安装程序的不良替代品没有提供 prq 编辑器,因此可以手动编辑 prq xml 文件,但主要是猜测)

于 2013-09-13T07:52:40.903 回答