为什么我没有Microsoft.VC80.MFC文件?

cha*_*r m 5 winsxs manifest side-by-side windows-7

安装了VS2005的新Win7机器.我尝试启动一个使用在Manifest.bin中显示的清单构建的MyApp.exe:

...

<assemblyIdentity type="win32" name="Microsoft.VC80.MFC" version="8.0.50727.4053" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b">
</assemblyIdentity>
Run Code Online (Sandbox Code Playgroud)

...

结果是错误消息"应用程序无法启动,因为它的并排配置不正确...

事件查看器详细告诉我原因:

"c:\ Xxx\MyApp.exe"的激活上下文生成失败.无法找到依赖程序集Microsoft.VC80.MFC,processorArchitecture ="x86",publicKeyToken ="1fc8b3b9a1e18e3b",type ="win32",version ="8.0.50727.4053".请使用sxstrace.exe进行详细诊断.

所以我浏览了winsxs文件夹,确实所有"4053文件夹"都丢失了.然后我编辑了Manifest.bin并用4927替换了4053.错误重新出现了不同的版本.然后我发现我的msvcr80.dll有"4927-folder"但mfc80.dll没有"4927-folder".

两个问题:

- 为什么mfc80.dll没有"4927-folder"?

- 如何获得所有"4053文件夹"?

谢谢和BR -Matti

Ale*_*nov 4

您应该安装 Visual C++ 可再发行组件或使用合并模块将可再发行组件添加到 Windows Installer 安装包中。或者,您应该将 MFC 库复制到应用程序的目录中。

\n\n

可用作私有程序集(在您的应用程序目录中)的库位于 中C:\\Program Files (x86)\\Microsoft Visual Studio 8\\VC\\redist\\x86amd64如果您的应用程序是 64\xc2\xa0bit,则位于 中。

\n\n

Windows Installer (MSI) 的合并模块位于C:\\Program Files (x86)\\Common Files\\Merge Modules.

\n\n

C:\\Program Files (x86)\\Microsoft Visual Studio 8\\SDK\\v2.0\\BootStrapper\\Packages\\vcredist_x86\\vcredist_x86.exe可以在 32\xc2\xa0bit 程序和\xe2\x80\xa6\\vcredist_x64\\vcredist_x64.exe64\xc2\xa0bit 程序中找到安装所有库的可再发行软件包。您可以从Microsoft Visual C++ 2005 Service Pack 1 Redistributable Package ATL Security Update获取这些文件。

\n\n
\n\n

我认为您想使用此程序包 Microsoft Visual C++ 2005 Service Pack 1 Redistributable Package ATL Security Update 更新 Visual Studio。

\n