EXE和MSI安装程序之间有什么区别? [英] What's the difference between an EXE and a MSI installer?

查看:444
本文介绍了EXE和MSI安装程序之间有什么区别?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经使用Installaware创建了一个安装软件包,并生成了EXE和MSI. EXE是3.1MB,MSI只有265K.为什么尺寸会有如此大的差异?

I've created an installation package using Installaware and generated an EXE and a MSI. The EXE is 3.1MB and the MSI is only 265K. Why is there such a big difference in size?

推荐答案

更新:一些资源,其中包含有关如何处理各种类型的setup.exe文件的信息:

UPDATE: Some resources with information on how to handle various types of setup.exe files:

  • Extract MSI from EXE
  • Uninstall and Install App on my Computer silently

MSI文件只能由 msiexec.exe - Windows Installer Engine 启动. MSI文件是能够安装软件的Windows Installer数据库文件.它至少需要正确版本的Windows Installer Engine运行时才能安装.大多数系统都是最新的引擎版本,因为它是通过Windows Update降级的.

An MSI file can only be launched by msiexec.exe - The Windows Installer Engine. An MSI file is a Windows Installer database file capable of installing software. It requires the right version of the Windows Installer Engine Runtime at the very minimum to be installable. Most systems are up to date with the latest engine versions since it comes down via Windows Update.

您生成的 EXE文件是一个自解压启动器​​应用程序,其中包含 MSI 本身以及各种运行时要求可能具有的设置.

The EXE file you generate is a self-extracting launcher application containing both the MSI itself as well as various runtime requirements that the setup might have.

EXE文件可能包含以下各种组件:

Various components an EXE file might include:

  • MSI要求的 Windows Installer引擎运行时的版本(当前版本5.0) .这些天,应该通过Windows Update安装该运行时,并且您的设置应该只验证它是否存在.
  • MSI中的自定义操作所需的脚本运行时( Installshield 的安装脚本)
  • 应用程序所需的 .NET运行时版本(现在有10个版本).我也希望同时使用Windows Update,但是如果您的应用程序是最先进的,则可能需要包括所需的引擎.
  • 徽标文件和启动屏幕,对于多语言设置,可能使用不同的语言
  • 可能还有其他几个组成部分
  • The version of the Windows Installer Engine Runtime the MSI requires (current version 5.0). These days this runtime should be installed by Windows Update, and your setup should just verify it is present.
  • Scripting runtimes required by custom actions in the MSI (Installscript for Installshield)
  • The .NET runtime version required by the application (Gaining on 10 versions now). I would prefer using Windows Update for this as well, but if your application is cutting edge, you might want to include the required engine.
  • Logo files and splash screens, potentially in different languages for multi-lingual setups
  • Several other components are possible

请注意,EXE文件也可以是非MSI安装程序.换句话说,不是基于Microsoft MSI格式的旧式安装程序-这是存储在办公室中的MS-SQL数据库风格的二进制文件-但是安装格式多种多样的安装脚本,例如Wise Script,Instalscript,Inno Setup等.但是,在这种情况下,问题是关于InstallAware产生的exe和MSI大小之间的差异构建,然后区别是上面说明的运行时.

Note that an EXE file can also be a non-MSI installer. In other words an old-style installer not based on Microsoft MSI format - which is a MS-SQL database stored in an office-style binary file - but an installation script of various formats such as Wise Script, Instalscript, Inno Setup, etc... However, in this case the question was about the difference in size between the exe and the MSI coming out of an InstallAware build, and then the difference is the runtimes explained above.

这篇关于EXE和MSI安装程序之间有什么区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆