有些軟件的正本里面同時含有 setup.msi 程序和 setup.exe 程序,例如Symantec AntiVirus客戶端的軟件裏就含有 setup.MSI和 setup.exe 兩個安裝程序。通常狀況下隨便用其一進行程序的安裝,結果是同樣的。windows
可是若是咱們的操做系統(安裝環境)沒有安裝某些程序,則.MSI有可能不能運行,這時就要用Setup.exe來進行安裝了。Setup.exe能夠利用Setup.ini來先安裝運行.MSI須要的軟件,建造一個較全的安裝環境,最後再調用.MSI程序。工具
因此當你肯定你的安裝環境不缺乏什麼應該安裝的程序時,能夠直接運行.MSI來安裝軟件的副本。spa
對於 Symantec AntiVirus 軟件來講,Setup.exe的一個主要功能就是先安裝WindowsInstaller.exe最新版,由於全部的.MSI程序都須要系統裏裝有WindowsInstaller.exe才能正常運行。操作系統
總結: .exe文件進行安裝的時會檢測安裝軟件須要的環境和一些必要的組件, 適不適合當前軟件安裝, 若是缺乏一些例如.netframework一類的組件, 就會先進行下載而後再進行安裝 .net
.msi文件不檢測當前系統環境是否符合就直接進行安裝, 若是環境不符合運行到一半可能會中止安裝,並報錯或提示,實際上是Windows Installer在執行MSI包定義的各項操做。所以咱們須要安裝Windows Installer的正確版本才能運行setup.msi開發
咱們都知道經過VS工具自帶的打包後會生成兩個文件,一個是exe文件,一個是msi文件。打包
須要說明的是msi文件時windowinstaller開發出來的程序安裝文件,它可讓你安裝、修改、卸載你所安裝的程序,也就是說VS工具打包生成的msi文件就是window installer的數據包,把全部和安裝文件相關的內容封裝在一個包裏。軟件
VS工具打包生成的exe文件是主要是用於檢查安裝的環境,當安裝的環境檢查成功後,會自動再安裝msi文件。固然可能會有exe文件也能直接安裝的,可是開發exe的時候要比msi困難多,由於須要編寫和安裝、修改、卸載相關的不少內容,而msi把這些功能都集成化了,易於開發windows程序安裝包。下載