WixUI对话框库包含一套"stock"多话框,用来提供wizard风格的安装用户界面。用一个UIRef为安装包添加一个界面。WixUI可以自定义,比如在界面上显示图片或者添加、删除某个界面。
Note: WixUI 对话框库现在还处在技术评估期。请在WiX-devs邮件列表上提供使用回馈。WixUI对话框库是否有用?你有其他建议吗?需要其他界面吗?基于回馈的信息,WixUI库可能有一些非兼容的改变。
使用WixUI对话框组件库
WixUI对话框组件支持4种通用对话框序列:
1. WixUI_Mondo
包括整套对话框:welcome, license agreement, setup type (typical, custom, and complete), feature customization, directory browse, 和 disk cost。也包括Maintenance-mode对话框。当产品的某些特性在默认情况下不安装,或者典型安装和完全安装有很大不同时,使用WixUI_Mondo。
Note:当用户选择Typical 或 Complete安装选项时,WixUI_Mondo使用SetInstallLevel控制事件来设置安装等级。对于Typical,安装级别设为3,Complete设为100。feature和安装级别的详情,请参见INSTALLLEVEL 属性。
2. WixUI_FeatureTree
是WixUI_Mondo的简单版本。它去掉了setup type对话框。用户直接从许可协议界面进入feature customization界面。当默认情况下安装全部特性时,WixUI_FeatureTree比WixUI_Mondo更合适。
3. WixUI_InstallDir
不允许用户选择features, 但允许选择安装路径。
Note: 要使用WixUI_InstallDir,你必须为WIXUI_INSTALLDIR设置一个值,该值由Directory的Id确定,作为初始的安装路径。例如:
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder" Name="PFiles">
<Directory Id="TESTFILEPRODUCTDIR" ShortName="WIXTEST" Name="Test File">
...
</Directory>
</Directory>
</Directory>
...
<Property Id="WIXUI_INSTALLDIR" Value="TESTFILEPRODUCTDIR" />
<UIRef Id="WixUI_InstallDir" />
4. WixUI_Minimal
最简单的WixUI组件类型。唯一的界面组合了welcome 和 license-agreement对话框,去掉了feature customization对话框。当产品没有可选特性时,WixUI_Minimal是合适的。
如何为安装包添加WixUI界面
假设你有一个现成的安装包,功能具备但没有界面。你应该遵循下面的步骤来使用WixUI对话框。
1. 在你的安装源代码中添加一个UIRef元素,使用上面对话框套件的一种作为Id的属性值。例如:
<Product ...>
<UIRef Id="WixUI_InstallDir" />
</Product>
为light命令行添加wixui.wixlib和适当的WixUI本地化文件名。例如:
light Mondo.wixobj %WIXUI_PATH%/WixUI.wixlib -loc %WIXUI_PATH%/WixUI_en-us.wxl -out Mondo.msi
请参见doc/examples/wixui 路径下的.wxs文件。
2. 指定许可文件
WixUI界面组件中有一个界面显示最终用户的许可协议。要指定你的产品许可协议,需要在运行light之前包含一个License.rtf文件在当前目录下。如果没有该文件,light将使用ui路径下的License.rtf文件。
3. 使用翻译过的错误和进度文字
默认情况下,WixUI 不包含任何翻译过的错误和进度文字。你可以通过引用WixUI_ErrorProgressText UI元素来包含他们。
<UIRef Id="WixUI_Minimal" />
<UIRef Id="WixUI_ErrorProgressText" />
4. 自定义对话框组件
通过拷贝、修改已有组件,你可以很容易地从WixUI组件中添加、删除对话框。
范例请参见doc/examples/wixui/custom路径下的工程。下表描述了该工程文件:
CustomDialogSet.build
NAnt build文件,用于创建自定义对话框组件。如果需要,创建WixUI通用对话框元素,然后build CustomDialogSet.wxs 和 CustomDlg.wxs来生成CustomDialogSet.wixlib。
CustomDialogSet.wxs
自定义对话框组件定义文件。拷贝WixUI_FeatureTree组建,并在WelcomeDlg初始化完成之后添加CustomDlg对话框。
CustomDlg.wxs
简单的自定义对话框。
TestCustom.wxs
WiX源代码,调用自定义的CustomDialogSet.wixlib库。
5. 更换图像
WixUI对话框库包含的图片用于welcome、installation-complete界面背景和其他界面的banner。你可以重载这些图片,以使用自己商标的目的。为了更换图片,需要在WiX源文件Bitmaps子目录下添加以下图片文件。
bannrbmp.bmp
顶端banner 493 × 58
dlgbmp.bmp
welcome 和 install-complete 对话框的背景图片 493 × 312
exclamic.ico
wait-for-costing对话框的Exclamation图标 32 × 32
info.ico
cancel 和 error对话框的Information图标 32 × 32
New.ico
directory-browse 对话框的Button图标 16 × 16
Up.ico
directory-browse 对话框的Button图标 16 × 16