为什么我没有Microsoft.VC80.MFC文件? [英] why i don't have Microsoft.VC80.MFC-file?

查看:1039
本文介绍了为什么我没有Microsoft.VC80.MFC文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

安装了装有VS2005的新Win7计算机.我试图启动一个MyMan.exe,该文件是用Manifest.bin中显示的清单构建的:

Got a fresh Win7 machine with VS2005 installed. I tried to start a MyApp.exe that is built with manifest that says in Manifest.bin:

...

<assemblyIdentity type="win32" name="Microsoft.VC80.MFC" version="8.0.50727.4053" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b">
</assemblyIdentity>

...

结果为错误消息由于并行配置不正确,导致应用程序无法启动...

and the result was error message "The application has failed to start because it's side-by-side configuration is incorrect...

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

Event viewer told me the reason in detail:

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

Activation context generation failed for "c:\Xxx\MyApp.exe". Dependent Assembly Microsoft.VC80.MFC,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.4053" could not be found. Please use sxstrace.exe for detailed diagnosis.

因此,我浏览了winsxs文件夹,确实丢失了所有"4053文件夹".然后,我编辑了Manifest.bin,并用4927替换了4053.在不同版本中再次出现该错误.然后我发现msvcr80.dll的文件为"4927文件夹",而mfc80.dll的文件为"4927文件夹".

so I browsed the winsxs folder and indeed all "4053-folders" were missing. Then i edited Manifest.bin and replaced 4053 with 4927. The errors reocurred with different version. Then I found out that I got "4927-folder" for msvcr80.dll but no "4927-folder" for mfc80.dll.

两个问题:

-为什么mfc80.dll没有"4927文件夹"?

-Why no "4927-folder" for mfc80.dll?

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

-How to get all "4053-folders" ?

感谢& BR-马蒂

Thanks & BR -Matti

推荐答案

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

You should either install Visual C++ redistributable or use merge modules to add the redistributables into your Windows Installer installation package. Or alternatively you should copy MFC libraries in the directory with your application.

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

Libraries that can be used as private assembly (in your app directory) are located in C:\Program Files (x86)\Microsoft Visual Studio 8\VC\redist\x86, or in amd64 if your app is 64 bit.

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

Merge modules for Windows Installer (MSI) are in C:\Program Files (x86)\Common Files\Merge Modules.

可再发行程序包.您可以从 Microsoft Visual C ++ 2005 Service Pack 1可再发行组件包ATL安全更新.

Redistributable package that installs all the libraries can be found in C:\Program Files (x86)\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86\vcredist_x86.exe for 32 bit programs and in …\vcredist_x64\vcredist_x64.exe for 64 bit programs. You can get these files from Microsoft Visual C++ 2005 Service Pack 1 Redistributable Package ATL Security Update.

我想您想使用此程序包Microsoft Visual C ++ 2005 Service Pack 1可再发行程序包ATL安全更新来更新Visual Studio.

And I think you want to update Visual Studio with this package Microsoft Visual C++ 2005 Service Pack 1 Redistributable Package ATL Security Update.

这篇关于为什么我没有Microsoft.VC80.MFC文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆