1

我最近毕业于 VS 2015。由于下面解释的原因,我想避免运行 VC++ Redistributables 安装程序。我在我的安装程序中包含了规定的 DLL,用于“应用程序本地”安装:

MFC140.DLL
concrt140.dll
msvcp140.dll
vccorlib140.dll
vcruntime140.dll
mfc140u.dll
mfcm140u.dll

这似乎有效。因此,我的应用程序在“处女”PC 上安装时运行。

我的问题是,我在哪里可以找到msvcr140.dll

这里提到:https ://www.visualstudio.com/license-terms/mt228262/ 。在安装了 VC Redistributables 的 PC 上搜索所有目录时,我无法在任何地方找到它。它存在吗?Windows是否隐藏了它?


注 1:为什么我需要避免使用 MS VC++ Redistributables 安装程序:

  • 它在我的 WiX 安装程序中显示为单独安装。这对我的市场人口(消费者)来说非常混乱。
  • 卸载我的软件时,还需要卸载 VC Redist.,这可能会导致并发症。
  • 在某些情况下,出现了某种错误导致 PC 无法运行。我怀疑重复安装 VC Redist。发生的情况是标准用户不再能够启动任何程序。
  • VC Redist。我的安装程序从 25MB 膨胀到 40MB,额外增加了 15MB。通过选择我需要的组件,我将其缩减了 10 MB。
  • 用于测试先前版本的 WiX 代码复杂、神秘且难以理解。
  • 是的,我了解自动更新 Windows DLL 的好处。但是,具有过期 DLL 的 PC 比无法使用的 PC 要好。

注意 2:我不能做静态链接,我的应用程序是 Win32 和 MFC DLL 的混合包,我得到链接器错误。

4

1 回答 1

3

由于在 Visual Studio 2015 中引入了通用 CRT , “msvcr140.dll”似乎“丢失” 。

另请参阅这个答案这个

查看位于 的官方合并模块Program Files (x86)\Common Files\Merge Modules\Microsoft_VC140_CRT_x64.msm,Visual C++ 2015 CRT 包含以下文件:

api-ms-win-core-console-l1-1-0.dll
api-ms-win-core-datetime-l1-1-0.dll
api-ms-win-core-debug-l1-1-0.dll
api-ms-win-core-errorhandling-l1-1-0.dll
api-ms-win-core-file-l1-1-0.dll
api-ms-win-core-file-l1-2-0.dll
api-ms-win-core-file-l2-1-0.dll
api-ms-win-core-handle-l1-1-0.dll
api-ms-win-core-heap-l1-1-0.dll
api-ms-win-core-interlocked-l1-1-0.dll
api-ms-win-core-libraryloader-l1-1-0.dll
api-ms-win-core-localization-l1-2-0.dll
api-ms-win-core-memory-l1-1-0.dll
api-ms-win-core-namedpipe-l1-1-0.dll
api-ms-win-core-processenvironment-l1-1-0.dll
api-ms-win-core-processthreads-l1-1-0.dll
api-ms-win-core-processthreads-l1-1-1.dll
api-ms-win-core-profile-l1-1-0.dll
api-ms-win-core-rtlsupport-l1-1-0.dll
api-ms-win-core-string-l1-1-0.dll
api-ms-win-core-synch-l1-1-0.dll
api-ms-win-core-synch-l1-2-0.dll
api-ms-win-core-sysinfo-l1-1-0.dll
api-ms-win-core-timezone-l1-1-0.dll
api-ms-win-core-util-l1-1-0.dll
api-ms-win-crt-conio-l1-1-0.dll
api-ms-win-crt-convert-l1-1-0.dll
api-ms-win-crt-environment-l1-1-0.dll
api-ms-win-crt-filesystem-l1-1-0.dll
api-ms-win-crt-heap-l1-1-0.dll
api-ms-win-crt-locale-l1-1-0.dll
api-ms-win-crt-math-l1-1-0.dll
api-ms-win-crt-multibyte-l1-1-0.dll
api-ms-win-crt-private-l1-1-0.dll
api-ms-win-crt-process-l1-1-0.dll
api-ms-win-crt-runtime-l1-1-0.dll
api-ms-win-crt-stdio-l1-1-0.dll
api-ms-win-crt-string-l1-1-0.dll
api-ms-win-crt-time-l1-1-0.dll
api-ms-win-crt-utility-l1-1-0.dll
concrt140.dll
msvcp140.dll
ucrtbase.dll
vccorlib140.dll
vcruntime140.dll
于 2017-05-09T17:40:38.433 回答