2013-07-25 103 views
1

我的InstallShield基本MSI項目有兩個功能,如何才能援用自定義操作:A和B.的InstallShield:當功能選擇

用戶可以運行SETUP.EXE產生,遵循安裝嚮導中,選擇自定義安裝,選擇功能A或(和)B來安裝,然後單擊安裝。並且只應安裝選定的功能。

我的問題是 - 功能A有它自己的setup.exe(實際上這是獨立安裝程序與自己的自定義安裝嚮導),我想要啓動此setup.exe如果用戶選擇此功能並單擊安裝。主要安裝對話框應暫停,直到完成功能A的安裝對話框爲止。 安裝功能B(功能B沒有任何安裝對話框,只將幾個dll複製到目標文件夾並註冊其中一些)應該只在我完成了功能A.

如何使用InstallShield自定義操作獲取此行爲?我應該爲此自定義ACtion設置什麼Exec序列和Exec條件?

回答

2

Conditional Statement Syntax

您可以編寫& FEATURENAME = 3語句。我個人傾向於使用組件而不是功能。這取決於自定義操作的作用以及依賴關係是什麼。

也就是說,你的設計並不真正有效。 Windows安裝程序具有互斥功能,可以防止您正在嘗試執行的操作。您應該仔細查看安裝程序和功能先決條件或套件安裝程序以創建鏈接安裝程序解決方案。

+0

克里斯托弗,謝謝你的回答。在本主題中編寫我的第一個問題之前,我嘗試了功能先決條件(我將我的功能的setup.exe設置爲要在先決條件屬性中運行的應用程序並設置先決條件的條件安裝設置)。但是這種方法在安裝時會導致錯誤。我將嘗試描述它:我選擇我的功能A並單擊安裝 - 出現功能A的嚮導 - >功能A的安裝過程開始 - >移動數據過程-113期間發生錯誤。 – AndreyS

+0

還有一件重要的事情我想添加到我之前的消息中。我想爲我的產品安裝只有setup.exe文件(單個可執行文件安裝映像類型)。因此,選擇此功能進行安裝時啓動的Feature可執行文件應包含在setup.exe中,並且將「從Setup.exe提取」設置爲其先決條件位置。我想這個事實可能會導致我上面描述的錯誤。 – AndreyS

+0

移動數據進程-113聽起來像舊的InstallShield InstallScript錯誤消息。我多年沒有聽說過,所以我不知道如何解決問題。您的父安裝程序聽起來像它的正確創作,並調用然後失敗的子安裝程序。在那裏尋找你的問題。是的,InstallShield可以將所有先決條件壓縮到一個setup.exe中。 –