我使用Installaware创建了一个安装包,并生成了一个EXE和一个MSI。 EXE为3.1MB,MSI仅为265K。为什么尺寸会有这么大的差异?
答案 0 :(得分:14)
更新:某些资源包含有关如何处理各种类型的setup.exe文件的信息:
MSI文件只能由 msiexec.exe - Windows Installer引擎启动。 MSI文件是能够安装软件的Windows Installer数据库文件。它要求至少可以安装正确版本的Windows Installer引擎运行时。大多数系统都是最新的引擎版本,因为它是通过Windows Update下载的。
您生成的 EXE文件是一个自解压启动器应用程序,其中包含 MSI 本身以及各种运行时要求设置可能有。
EXE文件可能包含的各种组件:
请注意,EXE文件也可以是非MSI安装程序。换句话说,不是基于Microsoft MSI格式的旧式安装程序 - 这是存储在办公室中的MS-SQL数据库风格的二进制文件 - 但是各种格式的安装脚本,如Wise Script,Instalscript,Inno Setup等...但是,在这种情况下,问题是关于exeA和来自InstallAware的MSI之间的大小差异构建,然后差异是上面解释的运行时。
答案 1 :(得分:5)
不同之处在于:MSI包中包含您的文件+安装脚本,实际安装由Microsoft安装程序运行,它是Windows的一部分,它负责显示Windows,记录消息等。另一方面,您的EXE安装程序正在保存文件+实际程序逻辑以运行安装本身,负责几乎所有事情,因此存在差异。
答案 2 :(得分:-3)
EXE可能包含由msiexec
执行的设置例程,它只执行MSI中包含的任何安装脚本。