.msi和setup.exe文件有哪些具体区别?

Bab*_*abu 174 installer windows-installer windows-services

我搜索了很多,但都猜到了答案.帮我找到确切的答案.

Kev*_*ler 212

MSI是Windows Installer数据库.Windows Installer(随Windows安装的服务)使用它来在您的系统上安装软件(即复制文件,设置注册表值等).

setup.exe可以是引导程序或非msi安装程序.非msi安装程序将从自身中提取安装资源并直接管理其安装.引导程序将包含MSI而不是单个文件.在这种情况下,setup.exe将调用Windows Installer来安装MSI.

您可能想要使用setup.exe的一些原因:

  • Windows Installer一次只允许安装一个MSI.这意味着很难让MSI安装其他MSI(例如.NET框架或C++运行时之类的依赖项).由于setup.exe不是MSI,因此可以使用它按顺序安装多个MSI.
  • 您可能希望更精确地控制安装的管理方式.MSI对如何管理安装有非常具体的规则,包括安装,升级和卸载.setup.exe可以完全控制软件配置过程.只有当你真的需要额外的控制时才应该这样做,因为它需要很多工作,而且要做到这一点可能很棘手.

  • 我打算输入这个 - 这可能就是他想要的 (7认同)
  • 根据我的经验,与构建基于 exe 的安装程序相比,构建 MSI 安装程序“需要大量工作”。这很大程度上取决于您首先用来构建安装程序的工具。不幸的是,我见过的所有基于 MSI 的安装程序工具要么是商业 GUI 工具,要么是复杂的基于 WiX 的工具。两者都不太适合我的需求(即使用脚本自动构建安装程序)。 (2认同)
  • @TheMuffinMan 安装正确是很棘手的。有很多事情需要考虑,从未制作过安装程序的人可能不会意识到,特别是卸载、升级、修复和修改已安装的软件。MSI 提供了一个框架,使安装程序更容易、更可靠、更一致地工作。用户在安装任何软件时都应该有类似的体验,如果没有像 MSI 这样提供和执行标准的框架,这是很难做到的。只要用户在安装软件,我想就会需要这样的框架。 (2认同)

thb*_*sch 12

.msi文件是没有Windows安装程序运行时的Windows安装程序文件,setup.exe可以是任何可执行程序(可能是安装在您计算机上的东西)


The*_*her 7

MSI是一个安装程序文件,用于在执行系统上安装程序.

Setup.exe是一个应用程序(可执行文件),它有一个msi文件作为其资源之一.执行Setup.exe将依次执行将应用程序写入系统的msi(安装程序).