0

我有一个使用 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已安装。文档(例如私有程序集)指出,这可以通过在 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.dlland msvcm90.dll

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

4

0 回答 0