我使用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. specflow的.msi安裝程序和它的nuget包是否有區別?
- 6. .Net安裝程序 - .exe和.msi之間的差異
- 7. 使用MSI打包一個.EXE文件,以便MSI在msi安裝過程中安裝exe文件
- 8. msi安裝程序卸載
- 9. .msi安裝程序中斷
- 10. MSI安裝程序VS 2008
- 11. Windows安裝程序msi包
- 12. 抽象和封裝有什麼區別?
- 13. 如何安裝引導程序和MSI
- 14. Visual Studio發佈爲EXE或MSI安裝程序
- 15. 安裝使用Windows安裝程序創建msi後,exe文件停止工作
- 16. 安裝Rubygems「本地」和「系統範圍」有什麼區別?
- 17. Grape和Yum安裝依賴關係有什麼區別?
- 18. pip安裝和pip下載有什麼區別?
- 19. 有沒有辦法確保MSI安裝程序每次更新.exe文件?
- 20. .msi和setup.exe文件有什麼具體區別?
- 21. 從.exe文件創建安裝(.msi)
- 22. 從MSI安裝腳本運行EXE C#
- 23. 部署ASP.NET網站:爲什麼* .msi需要安裝程序?
- 24. Windows安裝程序的默認安裝級別是什麼?
- 25. MSI安裝程序安裝和卸載問題
- 26. CPP/CLI程序集和CS/VB程序集有什麼區別?
- 27. 程序和應用程序有什麼區別?
- 28. Apache服務器安裝沒有.msi安裝程序
- 29. 多個項目MSI安裝程序沒有運行後安裝
- 30. 刪除現有版本並安裝msi安裝程序
如果下載大小有問題,我不建議在您的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