安装了一台新的Win7机器,安装了VS2005。我试图启动一个使用清单构建的MyApp.exe,该清单用Manifest.bin表示:
..。
<assemblyIdentity type="win32" name="Microsoft.VC80.MFC" version="8.0.50727.4053" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b">
</assemblyIdentity>..。
结果是错误消息“应用程序启动失败,因为它的并行配置是不正确的.
事件查看者详细地告诉了我原因:
激活上下文生成"c:\Xxx\MyApp.exe“失败。VC80.MFC,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.4053“。请使用sxstrace.exe进行详细诊断。
所以我浏览了winsxs文件夹,实际上所有的“4053-文件夹”都丢失了。然后我编辑了Manifest.bin,用4927替换了4053。错误因版本不同而变化。然后我发现我得到了msvcr80.dll的“4927文件夹”,而mfc80.dll没有得到“4927文件夹”。
两个问题:
-Why编号为mfc80.dll的“4927文件夹”?
-How得到所有的“4053-文件夹”?
谢谢& BR -Matti
发布于 2011-03-22 06:59:58
您应该安装VisualC++可再发行版,或者使用合并模块将再发行版添加到您的Windows安装包中。或者,也可以将MFC库与应用程序一起复制到目录中。
可以作为私有程序集使用的库(在应用程序目录中)位于C:\Program Files (x86)\Microsoft Visual Studio 8\VC\redist\x86中,如果应用程序是64位,则位于amd64中。
Windows的合并模块在C:\Program Files (x86)\Common Files\Merge Modules中。
安装所有库的可再发行包可以在32位程序的C:\Program Files (x86)\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86\vcredist_x86.exe和64位程序的…\vcredist_x64\vcredist_x64.exe中找到。您可以从Microsoft Visual C++ 2005 Service Pack 1可再发行包ATL安全更新获取这些文件。
我认为您希望使用此包更新Visual,MicrosoftVisualWeb2005ServicePack 1可再发行包ATL。
https://stackoverflow.com/questions/4023936
复制相似问题