安装vc_redist 64位后,32位应用程序无法启动(0xC000007b)

时间:2013-09-12 13:33:29

标签: c++ visual-c++

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

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

现在我们正在转向64位版本,我们的先决条件安装程序会安装visual studio 2012的vc_redist_x86和vc_redist_x64。

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

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

现在奇怪的部分:依赖性walker显示msvcr110.dll是64位。 dependency walker (full resolution)

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

我只有在还原VM并仅安装x86 redist

时才能使用它

1 个答案:

答案 0 :(得分:0)

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

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

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

(注意:InstallShield 2012 Spring LE中vcredist x86 2012的prq似乎也有问题,因为它从未安装过,可能是由于prq操作系统条件的问题。提出的SO解决方案来自2010 redist prq的条件为我们设计了。由于LE版本作为微软安装程序的不良替代品提供,不提供prq编辑器手动编辑prq xml文件是可能的,但主要是猜测)