我使用Installaware创建了一个安装包,并生成了一个EXE和一个MSI。 EXE为3.1MB,MSI仅为265K。为什么在尺寸上有如此大的差异?EXE和MSI安装程序有什么区别?
回答
EXE可能包含安装例程,否则该安装例程由msiexec
执行,该例程仅执行MSI中包含的任何安装脚本。
不,这是不准确的信息。请删除。 – 2014-05-22 19:31:54
区别在于:MSI软件包包含您的文件+安装脚本,实际安装由Microsoft Installer运行,该安装程序是Windows的一部分,它负责显示Windows,记录消息等。另一方面,你的EXE安装程序会持有文件+实际程序逻辑来运行安装本身,几乎负责任何事情,因此有所不同。
有一点需要注意的是msiexec有许多版本,而你的.MSI文件将需要某个版本的Microsoft Installer。也就是说,经常更新Windows的用户总是会安装最新最好的msiexec。 – EboMike 2010-10-07 23:02:05
实际上,从安装工具(如InstallAware,Installshield或AdvancedInstaller)生成的EXE文件通常包含运行时和自举功能,以自动方式启动MSI安装 - 有时以多种语言。 – 2014-05-22 19:37:51
MSI文件只能由启动msiexec.exe - Windows安装程序引擎。 MSI文件是能够安装软件的Windows Installer数据库文件。它要求Windows Installer Engine Runtime的正确版本至少可以安装。大多数系统都是最新的引擎版本,因为它是通过Windows Update下载的。
的EXE文件你产生是同时包含MSI本身以及各种运行要求的设置可能有自解压启动应用。
各种组件EXE文件可能包括:
- 的Windows Installer Engine Runtime的版本的MSI要求(当前版本5.0)。这些日子这个运行时应该由Windows Update安装,并且你的设置应该验证它是否存在。
- 由MSI自定义操作(INSTALLSCRIPT为Installshield)所需的脚本运行时
- 应用程序(目前获得的10个版本)所需的.NET runtime version。我更喜欢使用Windows Update,但如果您的应用程序处于前沿状态,则可能需要包含所需的引擎。
- 标志文件和启动画面,可能在多语言设置不同的语言
- 其他一些部件可能
需要注意的是一个EXE文件也可以是一个非MSI安装程序。换句话说,旧式安装程序不是基于Microsoft MSI格式 - 这是存储在办公式样式二进制文件中的MS-SQL数据库 - 而是各种格式的安装脚本,如Wise Script,Instalscript,Inno Setup等......然而,在这种情况下,问题是关于exe和MSA从InstallAware构建出来的大小之间的差异,然后区别在于上面解释的运行时间。
- 1. Windows安装包:msi和exe。有什么区别?
- 2. MSI和EXE安装程序有什么区别,我应该选择哪一个?
- 3. 独立Windows .exe与安装程序有什么区别?
- 4. 为exe和msi链接安装程序
- 5. specflow的.msi安装程序和它的nuget包是否有区别?
- 6. .Net安装程序 - .exe和.msi之间的差异
- 7. 使用MSI打包一个.EXE文件,以便MSI在msi安装过程中安装exe文件
- 8. msi安装程序卸载
- 9. .msi安装程序中断
- 10. MSI安装程序VS 2008
- 11. Windows安装程序msi包
- 12. 抽象和封装有什么区别?
- 13. 如何安装引导程序和MSI
- 14. Visual Studio发布为EXE或MSI安装程序
- 15. 安装使用Windows安装程序创建msi后,exe文件停止工作
- 16. 安装Rubygems“本地”和“系统范围”有什么区别?
- 17. Grape和Yum安装依赖关系有什么区别?
- 18. pip安装和pip下载有什么区别?
- 19. 有没有办法确保MSI安装程序每次更新.exe文件?
- 20. .msi和setup.exe文件有什么具体区别?
- 21. 从.exe文件创建安装(.msi)
- 22. 从MSI安装脚本运行EXE C#
- 23. 部署ASP.NET网站:为什么* .msi需要安装程序?
- 24. Windows安装程序的默认安装级别是什么?
- 25. MSI安装程序安装和卸载问题
- 26. CPP/CLI程序集和CS/VB程序集有什么区别?
- 27. 程序和应用程序有什么区别?
- 28. Apache服务器安装没有.msi安装程序
- 29. 多个项目MSI安装程序没有运行后安装
- 30. 删除现有版本并安装msi安装程序
如果下载大小有问题,我不建议在您的setup.exe文件中包含Windows Installer引擎。如果我依赖的是微软发布的全新引擎版本,我只包含引擎。否则几乎所有连接到互联网的系统都将安装足够的引擎。即使如此,我还是希望让MSI通知用户运行Windows Update以获取最新的引擎,而不是自动安装它。 – 2014-05-22 19:34:09
[.msi和setup.exe文件的具体区别是什么?](http://stackoverflow.com/questions/1789530/what-are-the-specific-differences-between-msi-and-setup -exe-file) – 2014-08-02 20:18:17