2009-11-24 21 views
126

我搜查了很多,但都是猜測的答案。幫我找到確切的答案。.msi和setup.exe文件有什麼具體區別?

+5

看到http://stackoverflow.com/questions/902841/why-do-so-many-programs-have-both-a-setup-exe-and-a-setup-msi – rds 2010-12-30 16:22:38

+2

這是一個** [更多最近的答案](http://www.stackoverflow.com/a/23815524/129130)** – 2014-08-17 16:01:43

回答

9

的.msi文件是Windows Installer文件不Windows安裝程序運行時,SETUP.EXE可能是任何可執行PROGRAMM(可能是一個您的計算機上安裝的東西)

-2

微星基本上是從微軟的安裝程序內置到視窗。它將組件與功能相關聯幷包含安裝控制信息。該文件不需要包含實際用戶需要的文件,即用戶期望的應用程序。 MSI可以在其中包含MSI環繞的另一個setup.exe,它實際上包含用戶所需的文件。

希望這可以清除你的懷疑。

+12

這是令人困惑的,通常是不正確的 - 在'MSI'文件通常**不**包裝'setup.exe'文件,反之亦然。 – 2014-03-19 23:06:56

153

MSI是一個Windows安裝程序數據庫。 Windows安裝程序(與Windows一起安裝的服務)使用它來在系統上安裝軟件(即複製文件,設置註冊表值等)。

setup.exe可能是引導程序或非msi安裝程序。非MSI安裝程序將從其自身提取安裝資源並直接管理其安裝。引導程序將包含MSI而不是單個文件。在這種情況下,setup.exe將調用Windows Installer來安裝MSI。

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

  • Windows安裝程序只允許一個微星在同一時間內進行安裝。這意味着很難讓MSI安裝其他MSI(例如.NET Framework或C++運行庫等依賴項)。由於setup.exe不是MSI,因此可以按順序安裝多個MSI。
  • 您可能想要更精確地控制安裝的管理方式。 MSI有關於如何管理安裝的特定規則,包括安裝,升級和卸載。 setup.exe可以完全控制軟件配置過程。這應該只有當你需要額外的控制,因爲它是很多工作,並且它可能是棘手的,以確保它是正確的,如果你真的
+5

我要鍵入此 - 這可能就是他正在尋找 – Mongoose 2009-12-18 02:00:43

+0

在我的經驗,建立一個MSI安裝程序是*大量的工作*相比,建設一個exe安裝基礎。這很大程度上取決於您首先使用的構建安裝程序的工具。不幸的是,我所見過的所有基於MSI的安裝工具都是商業GUI工具或複雜的基於WiX的工具。這兩者都不適合我的需求(即自動構建安裝腳本)。 – craftworkgames 2018-02-15 01:50:37

3

MSI是一個安裝程序文件,它將程序安裝到執行系統上。

Setup.exe是一個應用程序(可執行文件),它具有msi文件作爲其資源之一。 執行Setup.exe將依次執行將應用程序寫入系統的msi(安裝程序)。