2012-03-01 120 views
3

我試圖瞭解InstallShield(2009)/ InstallScript,因爲我正在修改其他人的安裝腳本。如何在InstallShield中創建自定義對話框?

之前的安裝過程中的一個對話框上有一個文本框,要求SQL Server實例,假設某個數據庫名稱。現在我剛剛完成了一項增強功能,可以選擇任何數據庫名稱,而不僅僅是缺省名稱,而且我需要向該對話框添加一個字段,以便用戶可以輸入所選的數據庫名稱。猴子看到,猴子會做,只是做一個新的控制,並複製和適應形式爲第一個文本框的任何功能 - 很容易,對吧?

嗯......問題在這裏。看起來,「SdShowDlgEdit1」表單是一個隨InstallShield一起提供的通用事物,並且在任何需要一個文本框的對話框中都可以使用它。改變這種形式,並且它在所有被調用的地方都會發生變化...所以現在我有一個虛假的第二個文本框出現在我的安裝中,只要以前有一個文本框。

糟糕。撤消更改,並將引用更改爲「SdShowDlgEdit2」,即您猜對它 - InstallShield的標準格式,用於需要2個文本框的對話框。現在,這將是偉大的....除了以前的開發人員在我之前到達那裏,並添加一個「瀏覽」按鈕到該窗體的地方,他需要第二個文本框包含文件夾路徑。我不想要那個「瀏覽」按鈕,我不能刪除它。

所以我想,爲什麼我不創建自己的自定義形式,而不是得到任何人的腳趾?因此,我克隆了表單,將新實例重命名爲「EnterDbDetails」,刪除「瀏覽」按鈕並使窗體看起來恰到好處。

然後我回到InstallScript中重定向到「EnterDbDetails」,並發現EzDefineDialog函數要求我傳入窗體的「資源ID」。現在又是什麼...... 12018 ......很棒......填寫所有必要的細節,編譯,構建,並給它一個旋轉。看起來很可愛,所有正確的默認值被填入兩個文本框 - 但嘿!爲什麼瀏覽按鈕在那裏?爲什麼標籤上的文字不是我設定的?

返回到InstallScript,檢查資源ID - 原來的「SdShowDlgEdit2」也有一個資源ID 12018.那麼,這很好地解釋。愚蠢的InstallShield將允許你有兩種形式使用相同的ID,但不管......所以,讓我們回到我的「EnterDbDetails」的形式,改變ID ...

enter image description here

...但資源標識符屬性是隻讀的! WTF?

因此,現在我不能使用任何標準格式,而且我也不能使用自定義格式,因爲它不會讓我更改資源ID。

我很難過。任何人都可以請解釋你應該如何做這樣的事情,這真的應該是世界上最簡單的事情?

回答

4

Creating New Custom Dialogs in InstallScript and InstallScript MSI Projects


從網站(2015版)的報價:

要創建自定義對話框,您需要執行以下常規步驟:

  1. 使用新的對話框嚮導爲您的項目添加一個新的自定義對話框。有關更多信息,請參閱使用新建對話框嚮導將新的自定義對話框添加到InstallScript或InstallScript MSI項目。
  2. 將控件添加到對話框。有關更多信息,請參閱在InstallScript或InstallScript MSI項目中將控件添加到對話框。
  3. 創建一個腳本函數,將對話框加載到內存中,將其顯示在屏幕上,處理最終用戶與對話框控件的交互,並在用戶完成對話框時關閉對話框。有關更多信息,請參閱使用InstallScript實現自定義對話框。
+0

謝謝!可惜我不得不從頭開始創建,並且無法複製以前的對話框。幸運的是,它並不複雜。 – 2012-03-04 08:40:58

+1

這個答案容易受到鏈接腐爛的影響。 – 2015-07-28 18:46:56

1

創建一個新的對話框: 打開對話框視圖。對話框視圖位於視圖列表的用戶界面部分。 用鼠標右鍵單擊所有對話框資源管理器,然後單擊新建對話框。對話框嚮導打開。單擊「下一步」關閉「歡迎」面板。 在「對話框模板」面板中,單擊「內部嚮導面板」,然後選中讓我在用戶界面序列中插入此對話框複選框。 在用戶界面面板中,選擇用戶界面順序列表中的安裝。在對話框列表中,選擇InstallWelcome。根據這些選擇,InstallShield會在InstallWelcome對話框後立即插入新對話框。 在對話位置和條件面板中,保留默認設置,然後單擊完成。您的新對話框出現在對話框列表中。 右鍵單擊對話框並選擇重命名。重命名對話框WelcomeBitmap。 使用相同的技術,您可以在安裝的用戶界面中插入其他對話框。

在此步驟中,您將修改你剛剛創建的WelcomeBitmap對話框:由150 打開對話框查看測量300 首先,創建位圖(使用像微軟畫圖程序)。 展開WelcomeBitmap對話框的節點。點擊英語(美國)打開對話框編輯器。 單擊對話框頂部的對話粗體標題文本框。在文本字段中,輸入歡迎位圖。這改變了對話的主標題。 單擊對話框頂部的對話框正常描述文本框。在文本字段中,輸入顯示我的歡迎位圖。這改變了對話框的描述。 單擊對話框控制工具欄上的位圖按鈕並使用光標在對話框上拖動一個框。將高度設置爲150,將寬度設置爲300. 在「文件」字段中瀏覽到您在步驟1中創建的位圖文件。 重建項目(通過按F7)並運行它(通過按CTRL + F5)後, 「歡迎位圖」對話框將出現在「安裝歡迎」對話框後。

0

您需要編輯安裝設計器中「其他工具」部分下直接編輯器中找到的對話框表中的ResourceID(屬於唯一內容)。

相關問題