2009-02-18 29 views
1

在此MSDN page中聲明不建議使用Windows Installer上的嵌套安裝(也稱爲併發安裝)。我目前正在安裝第三方msi,其中包含custon action type 23.如何替換Windows Installer上的嵌套安裝?

使用什麼機制可以在不使用嵌套安裝的情況下安裝第三方msi?我嘗試使用類型34的自定義操作調用「msiexec.exe /i {.msi-file}」,但由於多個安裝不允許同時進行,因此失敗。

不幸的是,沒有合併模塊可用於msi的安裝。

回答

2

不幸的是你(以及在這種情況下的其他人),你將不得不創建一個引導程序應用程序來檢查先決條件並在必要時啓動他們的安裝程序,然後啓動你的安裝程序。

如果您的先決條件需求僅依賴於某些特性,而不是整個包,那麼這很不幸,因爲這意味着您必須在引導應用程序中實現用戶界面。 (我們的情況就是這樣,但幸運的是,我們無論如何都是從頭開始的,所以我們不必重新創建我們已經在MSI中實現的用戶界面。我們實際上嘗試了一種混合方法,即在前幾個屏幕的UI在引導程序中,其餘的都在MSI中,但涉及的太多挫折,所以我們在短時間內放棄了這個想法。)通過引導程序中的UI,用戶可以選擇特徵他們希望安裝,然後引導程序會在必要時顯示一個頁面,說明正在安裝先決條件,並在進入下一頁之前安裝它們。啓動安裝程序時,引導程序應用程序通過命令行參數爲從UI收集的所有信息提供它。您甚至可能希望將啓動條件放入MSI中,以防止其在卸載或修復情況下直接運行。

0

如果使用自定義操作(Installshield具有這些)來執行安裝,會發生什麼情況?和/或而不是.msi創建.exe文件?

+0

我已經使用自定義操作類型23來執行嵌套安裝。當我切換到使用類型34並嘗試使用參數/ i啓動msiexec.exe時,它將如上所述失敗。 第三方msi無法重新創建,必須按原樣使用,所以我無法嘗試。 – vividos 2009-02-18 10:08:50

相關問題