.msi和setup.exe文件的具体区别是什么?

我搜查了很多,但都是猜测的答案。 帮我find确切的答案。

MSI是一个Windows安装程序数据库。 Windows安装程序(与Windows一起安装的服务)使用它来在您的系统上安装软件(即复制文件,设置registry值等)。

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

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

  • Windows Installer只允许一次安装一个MSI。 这意味着很难让MSI安装其他的MSI(例如依赖.NET框架或C ++运行时)。 由于setup.exe不是MSI,因此可以按顺序安装多个MSI。
  • 您可能需要更精确地控制安装的pipe理方式。 MSI对于如何pipe理安装(包括安装,升级和卸载)有非常具体的规定。 setup.exe可以完全控制软件configuration过程。 这应该只在你真的需要额外的控制时才能完成,因为这是很多的工作,而把它做好是非常困难的。

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

MSI是一个安装程序文件,它将您的程序安装在正在执行的系统上。

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

MSI基本上是一个内置于Windows中的Microsoft安装程序。 它将组件与function相关联,并包含安装控制信息。 这个文件没有必要包含实际用户需要的文件,即用户期望的应用程序。 MSI可以在其中包含MSI环绕的另一个setup.exe,它实际上包含用户所需的文件。

希望这清除你怀疑。