我正在爲一組醫療設備SW產品編寫WiX安裝程序,該產品必須安裝在C:的根目錄下的特定目錄中。 IE沒有「ProgramFolders」這些。WiX安裝程序 - 從ComboBox設置ApplicationFolder
它們在專用環境中運行並且已經使用這些目錄進行了驗證和驗證。
我有了一個組合框自定義歡迎對話框:
<Control Id="TypeCombo" Type="ComboBox" X="178" Y="162" Width="120" Height="20" Property="InstallChoiceResult" ComboList="yes" Sorted="no">
<ComboBox Property="InstallChoiceResult">
<ListItem Text="Base dev 1" Value="1"/>
<ListItem Text="Base dev 2" Value="2"/>
<ListItem Text="Base dev 3" Value="3"/>
<ListItem Text="Base Simulator" Value="4"/>
</ComboBox>
</Control>
選擇由FSE設置屬性「InstallChoiceResult」。接下來我需要根據他們的選擇設置我的應用程序文件夾。 IE瀏覽器如果他們選擇「基本設備1」,那麼我需要將APPLICATIONFOLDER設置爲C:\ BASEDEV1。如果他們選擇Base dev 2,那麼我們去C:\ BASEDEV2
作爲WiX的新手,我正在爲這個序列而努力。從Orca檢查我的MSI看來,InstallUISequence是在成本覈算發生之後出現的。當我嘗試使用一組自定義操作設置APPLICATION文件夾時,它抱怨說因爲它是一個目錄,所以它必須在CostFinalize之前設置。
我敢肯定我錯過了簡單的東西,但如果我的用戶界面似乎正在運行後,我該如何設置我需要的目錄?我的自定義操作目前的樣子:
<CustomAction Id="SetDev1" Property="APPLICATIONFOLDER" Value="C:\BaseDev1" Execute="immediate" />
<CustomAction Id="SetDev2" Property="APPLICATIONFOLDER" Value="C:\BaseDev2" Execute="immediate" />
<CustomAction Id="SetDev3" Property="APPLICATIONFOLDER" Value="C:\BaseDev3" Execute="immediate" />
<CustomAction Id="SetDevS" Property="APPLICATIONFOLDER" Value="C:\BaseDevS" Execute="immediate" />
<InstallUISequence>
<Custom Action="SetDev1" Before="InstallDlg2">InstallChoiceResult=1</Custom>
<Custom Action="SetDev2" Before="InstallDlg2">InstallChoiceResult=2</Custom>
<Custom Action="SetDev3" Before="InstallDlg2">InstallChoiceResult=3</Custom>
<Custom Action="SetDevS" Before="InstallDlg2">InstallChoiceResult=4</Custom>
</InstallUISequence>
我需要做的基本上是這樣做的一般玩笑:
顯示對話框(FSE選擇1,2,3或模擬器) 之後下一個被按下時,根據組合框中的屬性設置ApplicationFolder 安裝到設置的應用程序文件夾中
任何幫助將非常感謝。