我使用Installaware創建了一個安裝包,並生成了一個EXE和一個MSI。 EXE爲3.1MB,MSI僅爲265K。爲什麼在尺寸上有如此大的差異?EXE和MSI安裝程序有什麼區別?
回答
EXE可能包含安裝例程,否則該安裝例程由msiexec
執行,該例程僅執行MSI中包含的任何安裝腳本。
不,這是不準確的信息。請刪除。 – 2014-05-22 19:31:54
區別在於:MSI軟件包包含您的文件+安裝腳本,實際安裝由Microsoft Installer運行,該安裝程序是Windows的一部分,它負責顯示Windows,記錄消息等。另一方面,你的EXE安裝程序會持有文件+實際程序邏輯來運行安裝本身,幾乎負責任何事情,因此有所不同。
有一點需要注意的是msiexec有許多版本,而你的.MSI文件將需要某個版本的Microsoft Installer。也就是說,經常更新Windows的用戶總是會安裝最新最好的msiexec。 – EboMike 2010-10-07 23:02:05
實際上,從安裝工具(如InstallAware,Installshield或AdvancedInstaller)生成的EXE文件通常包含運行時和自舉功能,以自動方式啓動MSI安裝 - 有時以多種語言。 – 2014-05-22 19:37:51
MSI文件只能由啓動msiexec.exe - Windows安裝程序引擎。 MSI文件是能夠安裝軟件的Windows Installer數據庫文件。它要求Windows Installer Engine Runtime的正確版本至少可以安裝。大多數系統都是最新的引擎版本,因爲它是通過Windows Update下載的。
的EXE文件你產生是同時包含MSI本身以及各種運行要求的設置可能有自解壓啓動應用。
各種組件EXE文件可能包括:
- 的Windows Installer Engine Runtime的版本的MSI要求(當前版本5.0)。這些日子這個運行時應該由Windows Update安裝,並且你的設置應該驗證它是否存在。
- 由MSI自定義操作(INSTALLSCRIPT爲Installshield)所需的腳本運行時
- 應用程序(目前獲得的10個版本)所需的.NET runtime version。我更喜歡使用Windows Update,但如果您的應用程序處於前沿狀態,則可能需要包含所需的引擎。
- 標誌文件和啓動畫面,可能在多語言設置不同的語言
- 其他一些部件可能
需要注意的是一個EXE文件也可以是一個非MSI安裝程序。換句話說,舊式安裝程序不是基於Microsoft MSI格式 - 這是存儲在辦公式樣式二進制文件中的MS-SQL數據庫 - 而是各種格式的安裝腳本,如Wise Script,Instalscript,Inno Setup等......然而,在這種情況下,問題是關於exe和MSA從InstallAware構建出來的大小之間的差異,然後區別在於上面解釋的運行時間。
- 1. Windows安裝包:msi和exe。有什麼區別?
- 2. MSI和EXE安裝程序有什麼區別,我應該選擇哪一個?
- 3. 獨立Windows .exe與安裝程序有什麼區別?
- 4. 爲exe和msi鏈接安裝程序
- 5. 安裝使用msi的jre和使用jreXXX.exe安裝程序的區別
- 6. 安裝項目和安裝嚮導有什麼區別?
- 7. MSI:安裝程序安裝程序
- 8. specflow的.msi安裝程序和它的nuget包是否有區別?
- 9. .Net安裝程序 - .exe和.msi之間的差異
- 10. msi安裝後運行exe - 應用程序沒有運行?
- 11. 如何在MSI安裝程序中搭載MSI安裝程序
- 12. 在WIX msi中包裝一個EXE安裝程序
- 13. 代碼和程序有什麼區別?
- 14. 使用MSI打包一個.EXE文件,以便MSI在msi安裝過程中安裝exe文件
- 15. 如何爲兩個應用程序(exe和msi)製作單個安裝程序?
- 16. 「服務帳戶」和「已安裝的應用程序」有什麼區別?
- 17. 有機和無機應用安裝有什麼區別?
- 18. Windows安裝程序msi包
- 19. msi安裝程序錯誤
- 20. MSI安裝程序VS 2008
- 21. .msi安裝程序中斷
- 22. msi安裝程序卸載
- 23. 如何安裝引導程序和MSI
- 24. 抽象和封裝有什麼區別?
- 25. 遠程安裝/部署的MSI/EXE文件:微星/ EXE文件
- 26. ClickOnce安裝程序.exe到MSI轉換器
- 27. Visual Studio發佈爲EXE或MSI安裝程序
- 28. 安裝使用Windows安裝程序創建msi後,exe文件停止工作
- 29. 有沒有辦法確保MSI安裝程序每次更新.exe文件?
- 30. 安裝Rubygems「本地」和「系統範圍」有什麼區別?
如果下載大小有問題,我不建議在您的setup.exe文件中包含Windows Installer引擎。如果我依賴的是微軟發佈的全新引擎版本,我只包含引擎。否則幾乎所有連接到互聯網的系統都將安裝足夠的引擎。即使如此,我還是希望讓MSI通知用戶運行Windows Update以獲取最新的引擎,而不是自動安裝它。 – 2014-05-22 19:34:09
[.msi和setup.exe文件的具體區別是什麼?](http://stackoverflow.com/questions/1789530/what-are-the-specific-differences-between-msi-and-setup -exe-file) – 2014-08-02 20:18:17