C++ MSVC 2015通用CRT应用程序本地部署

C++ MSVC 2015通用CRT应用程序本地部署,c++,deployment,visual-studio-2015,redistributable,vcredist,C++,Deployment,Visual Studio 2015,Redistributable,Vcredist,据宣布,通用CRT将是一个可重新分发的DLL,这样应用程序本地部署仍然是可能的 我已安装Visual Studio 2015 Express Edition,并在SDK目录中查找ucrtbase.dll,但找不到任何内容。我查看的目录是“C:\ProgramFiles(x86)\MicrosoftSDK\WindowsKits\10”,但在“Microsoft.UniversalCRT.debug”下只有CRT的调试版本 我不喜欢从我的系统复制任何DLL,我总是只从“Redist”目录打包文件。

据宣布,通用CRT将是一个可重新分发的DLL,这样应用程序本地部署仍然是可能的

我已安装Visual Studio 2015 Express Edition,并在SDK目录中查找ucrtbase.dll,但找不到任何内容。我查看的目录是“C:\ProgramFiles(x86)\MicrosoftSDK\WindowsKits\10”,但在“Microsoft.UniversalCRT.debug”下只有CRT的调试版本

我不喜欢从我的系统复制任何DLL,我总是只从“Redist”目录打包文件。例如(与以前版本的MSVC一样),我将“C:\Program files(x86)\Microsoft Visual Studio 14.0\VC\redist\x86\Microsoft.VC140.CRT”中的文件与我的应用程序的x86版本重新分发

是否有包含ucrtbase.dll或Visual Studio或SDK更新的包可以下载

此外,我不确定此时仅使用ucrtbase.dll是否足够,因为应用程序似乎链接到存根dll api-*.dll,我也不确定是否需要重新分发这些应用程序。

在使用通用CRT的分发软件一节中详细描述了所有情况,带有关于应用程序本地部署的红色更新通知:

2015年9月11日更新:支持通用CRT的应用程序本地部署。要获取应用程序本地部署的二进制文件,请安装适用于Windows 10的Windows软件开发工具包(SDK)。二进制文件将安装到C:\Program Files(x86)\Windows Kits\10\Redist\ucrt。您需要在应用程序中复制所有DLL(请注意,不同版本的Windows上需要的DLL集不同,因此您必须包含所有DLL,以便您的程序在所有受支持的Windows版本上运行)


您可以从下载UCRT。UCRT现在是操作系统的一部分,对于Vista SP2/7/8/8.1,它由更新中心分发。

ucrtbase.dll是Win10中的系统组件。Windows Update为旧版本的Windows提供了它。你们不应该自己分发它。没错,只是微软改变了主意,正式支持DLL的重新分发。请参阅接受答案中的链接。嗯,不完全是这样,他们很清楚他们的一些客户不使用Windows Update。在实际启用了WU的机器上,应用程序本地部署不是一回事,也是有害的。这样的客户应该带自己的。我的问题是关于应用程序本地部署的,这是现在支持的场景之一(尽管不一定是首选或宣传的)。最初微软的计划是根本不支持这个。api-*依赖项是假的:谢谢。我发誓我已经浏览过很多次了,但最近似乎还不够。我之前失败的SDK的安装现在似乎也可以正常工作了,我可以看到(41!)所需的DLL。我想知道为什么他们不能做到42。。。