一、背景
使用Visual Studio安裝項目來建立程式的安裝很方便快捷,但在建立過程中提供可以使用的對話方塊很有限:
啟動節點有:“啟動畫面”、“歡迎使用”、3個“選項按鈕”、3個“複選框”、3個“文字框”、“安裝資料夾”(或“安裝地址”)以及“確認安裝”。
二、解決方案
可以使用Orca工具建立自訂的對話方塊,Orca 是一款由微軟提供的用於 Windows Installer 資料庫表編輯器。可用來編輯 Windows Installer 資料庫檔案 (.msi) 檔案,合併模組 (.msm) 檔案,補丁 (.msp) 檔案,內部一致性計算程式 (.cub) 檔案和補丁建立屬性 (.pcp) 檔案。是修改和本地化 Windows Installer 資料庫的最佳協助工具輔助。
Visual Studio的安裝項目所使用的對話方塊保持在:%ProgramFiles%\Microsoft Visual Studio 8\Common7\Tools\Deployment\VsdDialogs目錄下。
使用Orca開啟對話方塊的wid檔案顯示如下:
主要包含有幾個表:
1、Dialog
主要是對話方塊的定義,包括對話方塊的高度、寬度,標題,按鈕的順序。更多描述參考:http://msdn.microsoft.com/en-us/library/aa368286(v=VS.85).aspx
2、Control
是對話方塊中控制項的列表,包括控制項的標識,所屬的對話方塊(具體類型定義參考MSDN:http://msdn.microsoft.com/en-us/library/aa368039(v=VS.85).aspx),位置,大小,類型等。更多描述參考:http://msdn.microsoft.com/en-us/library/aa368286(v=VS.85).aspx。
3、ControlCondition
描述對話方塊的條件,更多描述參考:http://msdn.microsoft.com/en-us/library/aa368035(v=VS.85).aspx。
4、ModuleConfiguration
描述對話方塊相關的配置,包括名稱,格式,類型,取值範圍,預設值,文本,描述等。
5、ModuleDialog
描述對話方塊的標識,顯示名稱
6、ModuleSignatue
描述對話方塊的ID,語言。
7、ModuleSubstitution
描述表,行的值的映射表。
三、樣本
簡單描述建立5個複選框的對話方塊的過程。
1、從ProgramFiles%\Microsoft Visual Studio 8\Common7\Tools\Deployment\VsdDialogs\0目錄下複製”VsdCustomCheck1Dlg.wid”,並改名為“VsdCustomCheck4Dlg.wid”。
2、使用Orca工具開啟“VsdCustomCheck4Dlg.wid”檔案,為了不跟原來的衝突,把所有“CheckboxA”改為“CheckboxD”(可以使用替換Ctrl+Shift+F)。
3、在“Control”表添加“CheckBox5”:
4、添加ControlAction:
5、設定ModuleConfiguration,注意,內建的都是通過“#+編號”來設定,這些配置也可以直接用文本。
6、設定ModuleSubstitution:
7、設定ModuleId: 按鈕可以直接產生Guid:
8、查看預覽效果:“工具”——“對話方塊預覽”
9、要在Visual Studio中顯示還需要把”VsdCustomCheck4Dlg.wid”拷到1033目錄下並設定Language:
10、重啟Visual Studio就可以在添加的對話方塊看到自訂的對話方塊“Checkboxes (D)”:
11、添加到啟動節點,查看其屬性:
12、測試:
自訂對話方塊下載