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

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

我们当然看到一些.exe文件被执行,但是 MSI 文件的不同功能是什么?

答案1

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

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

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

答案2

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

Windows 中的“exe”文件称为可移植可执行文件文件,并包含任意指令,无论是本机机器代码还是 .NET 字节码。PE 格式没有任何内容可以将其识别为安装程序。当然,使用任意机器代码,你可以安装程序 – 您看到的那些“exe”安装程序就采用了这种方法。

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

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

MSI 的特殊之处在于它包含在内置工具中并由内置工具解释,并且还集成到 Active Directory 中,以便更轻松地在企业环境中的多台机器上进行部署,Clem 的回答对此进行了更详细的介绍。

答案3

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

MSI 文件不会像“Clem”所写的那样在后台安装为 EXE 文件 - 它们被Windows 安装程序引擎可通过msiexec.exe 命令行界面.或者尝试Advanced Installer 带注释的 msiexec.exe 命令行示例然后安装本身通过两个不同的顺序运行:用户界面序列和实际安装顺序- 后者在系统上下文中运行,使用本地系统帐户. 必须进行此安排才能允许安装程序获得临时管理员权限,或者提升权利这是正确的术语。

EXE 安装程序可以是任何东西。大多数情况下,它们是基于旧式脚本的安装程序,不基于数据库,但 EXE 文件也可以是包含 MSI 文件和相关运行时组件的包装器。这一切都取决于具体情况,必须根据具体情况进行调查。

相关内容