簡體   English   中英

Windows MSI可以安裝多個軟件包嗎?

[英]Can windows MSI install multiple packages?

我在MFC中有一個調用MsiInstallProduct(installerFullPath, commandLine);

是否可以同時安裝2個MSI產品? 只要他們都是獨立的。

是否可以調用Windows函數並將其提供給我所有的MSI組件,它將一一安裝?

Windows Installer不允許同時安裝多個MSI軟件包。您需要一個接一個地觸發安裝,等待第一個完成,然后再啟動第二個。 將它們安裝在一個調用中的唯一選擇是創建另一個MSI軟件包,即主軟件包,在其中將兩個軟件包作為鏈式軟件包添加。

在Windows Installer 4.5之前,Bogdan的答案是正確的。 但是,由於使用Windows Installer 4.5及更高版本,您可以執行多程序包安裝 為此,請調用MsiBeginTransaction ,API的某種組合(例如MsiInstallProductMsiApplyPatchMsiConfigureProduct) ,然后再調用MsiEndTransaction

從技術上講,它們仍然不能完全同時安裝(並且需要調用多個函數),但這使它們全部成為一個事務的一部分。 如果正確編寫了所有參與程序包,則將全部安裝,打補丁或配置(修改或刪除)它們,或者將它們全部還原到其初始狀態。

Michael提到的多軟件包安裝正是鏈式軟件包所使用的支持,正如他還提到的,這至少需要在目標計算機上安裝Windows Installer 4.5。

要創建一個MSI程序包,在其中將兩個程序鏈接在一起添加,您可以使用其他設置創作工具,免費和商用,這取決於您的可用時間。 以下是工具列表: http : //en.wikipedia.org/wiki/List_of_installation_software

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM