2012-04-10 109 views
1

我想實現的知名場景,從而在維克斯對話框組合框的內容取決於先前的文本框的值的內容,由用戶輸入。這將允許我驅動需要運行SQL腳本的組件的安裝。如何更新或刷新WiX對話框中ComboBox的內容?

首先,用戶指定數據庫服務器的名稱。

其次,我想組合框顯示可用的數據庫列表說服務器。

這似乎再簡單不過的請求,據我的理解,不能簡單的用Windows安裝程序/ WiX的支持。不過,我想解決方法並儘可能地實現此行爲。

什麼是最接近的實現成爲可能?

我試圖觸發自定義動作的明確按鈕。我嘗試了一個重複的相同的對話框,導航到,但我似乎無法結合兩種行爲 - CA執行和對話框導航。

回答

2

一般的做法是這樣的:

  • 創建包含的編輯框控件
  • 創建包含在第一個對話框的下一步按鈕組合框控件
  • 不同的對話框自定義對話框執行填充第二個對話框上的組合框的自定義動作

這不能使用單個對話框完成。

另外,你需要編寫自定義代碼來填充組合框。您可以在這裏找到一些示例VBScript代碼:http://www.advancedinstaller.com/user-guide/tutorial-combobox-listbox.html#combolist-examples

這是Advanced Installer的一個示例,但示例.VBS自定義操作可以與任何設置工具一起使用。

+0

感謝您的回答。但是我無法完成這項工作。你能否詳細說明解決方案?按照指示,我創建了兩個不同的對話框,這些對話框在UI順序中以正確的順序插入。在第一個對話框中,我在Next按鈕下創建一個標記,但不會調用它。正如我的原始問題所述,我無法觸發*對話導航*和*自定義操作。 – 2012-04-11 12:48:15

+0

最有可能您的控制事件配置不正確。下一個對話框由NewDialog控件事件顯示,與您的自定義操作無關。您可以嘗試發佈您的配置,以便我們可以看一看。 – 2012-04-11 12:50:17

+0

你是對的,謝謝。我有我的發佈事件/ @訂單錯誤。 – 2012-04-11 12:59:10