MSI内置VS2015 / Win10 4mb小于VS2010 / Win 7

时间:2016-01-28 10:55:18

标签: c++ visual-studio-2010 dll mfc windows-installer

正如标题所述,我在 VS 2015 中构建的MSI比我在 VS 2010 中构建的MSI小了整整4mb。除了文件大小差异之外,Win10安装程序似乎只能安装在Win 8+上,从而在Win7上丢失DLL错误。我尝试过搜索一些短语,但找不到与我的问题有关的任何内容。任何人都可以对此有所了解吗?任何想法将不胜感激。我可以提供更多信息,但我不确定您需要什么,所以如果您需要更多信息,请告诉我。

1 个答案:

答案 0 :(得分:2)

一些解释说明:

  1. MSI文件不是从头开始构建的 - 它们基于用作起点的模式MSI文件。如果两个VS版本使用不同的模式,您将看到不同的MSI文件,特别是如果删除了对旧内容的支持。

  2. MSI文件是稀疏文件,而不是连续数据流。如果更新数据库的机制(MSI文件是什么)不同,则文件结构可能不同,其中未使用的空间较少。

  3. MSI文件包含文件以外的数据。包含位图的二进制文件,检测.NET框架的调用,调用托管自定义操作的C ++ Dll,以及两个版本的Visual Studio之间可能有所不同的各种事物。此处的任何更改都将更改MSI文件的大小。

  4. 这是一个实际问题吗?我怀疑如果有人使用VS 2010和VS 2015来生成100MB的代码文件,没有人会担心它们是不同的大小,因为它们是不同的内部组件编译器。