正常的 Windows 安装是不是包含 MFC100.dll?

Posted

技术标签:

【中文标题】正常的 Windows 安装是不是包含 MFC100.dll?【英文标题】:Does a normal Windows Installation include the MFC100.dll?正常的 Windows 安装是否包含 MFC100.dll? 【发布时间】:2015-10-22 13:15:18 【问题描述】:

简单的问题,但无法用谷歌搜索答案。

正常的 Windows 安装是否包含 MFC100.dll 库? 如果是这样,从什么时候开始 MFC100.dll 随 Windows 安装一起提供,而不是来自 VC+ Redist 2010?为什么 Windows 10 还没有包含较新版本的 MFC (MFC120.dll)

MFC DLL 文件的路径是 Windows(SYSWOW64)\mfc100.dll

对不起,我的英语很糟糕,我不是母语人士。

【问题讨论】:

我的 Windows for Workgroups 3.11 不包含此 dll,我仅在几秒钟前检查过。您对哪些 Windows 版本感兴趣? 实际上是自 Windows 7 以来的差异以及自包含文件以来的差异。你有哪个mfc文件? mfc90? 这里有两个重要的问题。 从什么时候开始 Windows 包含 MFC100.dll,同样重要的是,直到什么时候?不幸的是,第二个问题的答案需要一个水晶球。 Windows is not an MFC delivery channel 和 Windows is not a Microsoft Visual C/C++ Run-Time delivery channel。 【参考方案1】:

不要依赖任何 Windows 上安装的任何 MFC DLL。

MSDN says:

如果将应用程序动态链接到 MFC 库,则必须重新分发 Msvcr100.dll,因为所有 MFC DLL 都使用 C 运行时库 (CRT) 的共享版本。您还必须重新分发 Mfc100u.dll 或 Mfc100.dll。

MSDN blog says:

Windows 不是 MFC 交付渠道

没有如果或何时。您需要 MFC DLL 吗?然后你必须安装它。并注意安装您链接的版本(可能会随 Visual Studio 服务包更改)。

【讨论】:

这实际上回答了我的问题,所以提供 mfc 文件的 windows 只是一个奖励 只是为了提供一个具体的数据点,我已经确定了我的两台机器,一台运行 Windows 7,一台运行 Windows 8.1,两者都没有有 mfc100.dll。它确实包含在 Windows 中 - 但 包含在许多其他软件中,包括 Microsoft 和第三方,它们很可能已经预安装在您的特定的机器。

以上是关于正常的 Windows 安装是不是包含 MFC100.dll?的主要内容,如果未能解决你的问题,请参考以下文章

MFC获取Windows启动状态(正常启动安全模式启动网络安全模式启动)

[MFC]_在vs2019中使用MFC快速构建简单windows窗口程序

MFC 10 - 是不是可以在 CView 中有一个 CFrameWnd?

Win32控制台应用程序怎样使用MFC中的CFile类?

MFC Treeview:如何检查 Treeview 是不是已经包含特定的子节点?

使用 MFC 类编写的应用程序是不是需要安装外部框架