有一台安装了 VS2005 的全新 Win7 机器。我试图启动一个 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”的激活上下文生成失败。相关程序集 Microsoft.VC80.MFC,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.4053" 找不到。请使用 sxstrace.exe 进行详细诊断。
所以我浏览了winsxs文件夹,确实所有“4053文件夹”都不见了。然后我编辑 Manifest.bin 并将 4053 替换为 4927。错误在不同版本中再次出现。然后我发现我得到了 msvcr80.dll 的“4927 文件夹”,但没有得到 mfc80.dll 的“4927 文件夹”。
两个问题:
- 为什么 mfc80.dll 没有“4927 文件夹”?
- 如何获取所有“4053 文件夹”?
谢谢和BR-马蒂