在没有Microsoft.VC90.CRT的其余部分的情况下分发msvcr90.dll?

时间:2015-06-07 12:14:49

标签: windows visual-studio assemblies software-distribution msvcr90.dll

我有一个使用Visual Studio 2008从C源代码构建的EXE。因此EXE包含一个包含以下内容的清单:

<dependentAssembly>
    <assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
</dependentAssembly>

我想分发此EXE,以便它可以在任何Windows XP或更新的系统上运行,无论是否已安装Microsoft.VC90.CRT。文档(例如private assemblies)声明可以通过在EXE旁边包含以下文件来完成此操作:

Microsoft.VC90.CRT\Microsoft.VC90.CRT.manifest
Microsoft.VC90.CRT\msvcr90.dll
Microsoft.VC90.CRT\msvcp90.dll
Microsoft.VC90.CRT\msvcm90.dll

是否有必要包含所有这4个文件?因为我的源代码是纯C,所以我的EXE仅依赖于msvcr90.dll。乍一看,似乎我应该可以不使用msvcp90.dllmsvcm90.dll

仅分发msvcr90.dll(和Microsoft.VC90.CRT.manifest)是否可以?这样做有什么缺点吗?

0 个答案:

没有答案