MSI和EXE安装文件之间的主要区别是什么?


Answers:


7

MSI是Microsoft Silent Installer的首字母缩写,它在后台运行.exe安装程序。

它在GPO中使用,例如,如果要在管理的Windows基础结构上部署应用程序,则必须使用MSI创建新的GPO规则,并且MSI将安装在每台计算机上,而无需用户干预。

GPO是“组策略对象”,它“提供Active Directory环境中操作系统,应用程序和用户设置的集中管理和配置”。


1
GPO是“组策略对象”,它“提供Active Directory环境中操作系统,应用程序和用户设置的集中管理和配置”。
RedGrittyBrick 2012年

5
...更像[M] icro [s] oft [I] nstaller。你从哪里得到“沉默”的?不,MSI 不在后台运行PE exe(它们有能力,但这不是它们的唯一或主要功能)。
鲍勃

3
The Windows Installer (previously known as Microsoft Installer) is a software component...- 维基百科。是的,MSI是MicroSoft Installer,不是静默安装程序。
Jet

3
实际上,大多数答案是错误的。请阅读此主题中的其他答案。
斯坦·奥斯穆尔(SteinÅsmul)2014年

我是Microsoft Silent Installer第一次听到此完整表格。我一直都知道,MSI代表中号 ICRO 小号经常 nstaller`。你有官方的话说吗?
RBT

12

什么是安装程序?好了,安装程序会准备一个允许程序运行的系统:它将安装该程序。在此过程中,安装程序(在Windows上)可能会将文件复制到系统位置,放置启动它的快捷方式,更新库,删除较旧的版本等。执行这些操作的任何程序(“安装”另一个程序)都可以称为安装程序。

Windows中的“ exe”文件称为可移植可执行文件,它包含任意指令,可以是本机代码或.NET字节码。PE格式没有什么可将其标识为安装程序。当然,使用任意机器代码,您都可以编写安装程序-看到的那些“ exe”安装程序都采用这种方法。

有些人编写自己的自定义安装程序。其他人则使用安装程序生成器来节省一些时间和精力;其中包括NSIS,InnoSetup,InstallShield等。

MSI是一种特定格式,用于存储有关安装的信息,要采取的步骤以及要放置在何处的文件的数据库。就其本身而言,它是不可执行的。它实际上是由msiexec.exeWindows系统解释的。然后,该解释器将遵循MSI文件中列出的步骤。从理论上讲,您可以创建使用与MSI类似的数据库的任何exe(以及NSIS,InnoSetup等,执行类似的操作)。

MSI之所以与众不同,是因为它包含在内置工具中并由内置工具解释,并且还集成到Active Directory中,以便更轻松地在公司环境中的许多计算机上进行部署,而Clem的答案对此进行了更详细的介绍。


6

MSI文件是数据库文件(特别是MS-SQL数据库),它们描述通过数据库表进行的安装,以及通过在MSI文件本身内定义的一组复杂的安装顺序进行安装。

MSI文件不会像“ Clem”所写的那样作为EXE文件在后台安装-它们由Windows Installer引擎使用,可通过msiexec.exe命令行界面访问。或尝试使用Advanced Installer的带注释的msiexec.exe命令行示例。然后,安装本身通过两个不同的序列运行:用户界面序列和实际安装序列 - 实际安装序列使用LocalSystem帐户在系统上下文中运行。为了允许安装程序具有临时管理员权限或适当的高级权限,必须进行此安排。

EXE安装程序可以是任何东西。通常,它们是基于旧样式脚本的安装程序,而不基于数据库,但是EXE文件也可以是包含MSI文件和关联的运行时组件的包装。这全都取决于并且必须在每种特定情况下进行调查。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.