.msi和.exe 文件的區別


 有些軟件的正本里面同時含有 setup.msi 程序和 setup.exe 程序,例如Symantec AntiVirus客戶端的軟件里就含有 setup.MSI和 setup.exe 兩個安裝程序。一般情況下隨便用其一進行程序的安裝,結果是一樣的。

 

但是如果我們的操作系統(安裝環境)沒有安裝某些程序,則.MSI有可能不能運行,這時就要用Setup.exe來進行安裝了。Setup.exe可以利用Setup.ini來先安裝運行.MSI需要的軟件,建造一個較全的安裝環境,最后再調用.MSI程序。

所以當你確定你的安裝環境不缺少什么應該安裝的程序時,可以直接運行.MSI來安裝軟件的副本。

對於 Symantec AntiVirus 軟件來說,Setup.exe的一個主要功能就是先安裝WindowsInstaller.exe最新版,因為所有的.MSI程序都需要系統里裝有WindowsInstaller.exe才能正常運行。

 

總結: .exe文件進行安裝的時會檢測安裝軟件需要的環境和一些必要的組件, 適不適合當前軟件安裝, 如果缺少一些例如.netframework一類的組件, 就會先進行下載然后再進行安裝 

         .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程序安裝包。

             


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM