7

我正在为 WiX 安装程序创建一个 UI,并且我已经包含了 WixUI _Common。我四处搜索,但似乎找不到 WiX 提供的对话框的完整列表。

请列出您知道的所有对话框以及这些对话框的作用。

更新:感谢 CheGueVerra 的回答,我能够在 WiX 源代码的 src\ext\UIExtension\wixlib 目录中找到定义所有 UI 对话框的 wxs 文件。

4

3 回答 3

8

我们最近增强了 WiX 3.0 文档以包含有关 WixUI 的更多详细信息。Rob 链接到上面的页面几周前还不存在,所以这可能就是你错过它的原因。昨晚我还在http://wix.sourceforge.net/manual-wix3/WixUI_customizations.htm上增强了该主题,该信息也可能对您有所帮助。

谢谢!

编辑:sourceforge 链接已失效,但内容可在以下位置获得:

于 2009-05-01T23:40:02.663 回答
3

如果您下载 WIX 的最新源代码,您将在 Common.wxs 文件中找到 WixUI_Common 的声明:

<UI Id="WixUI_Common">
    <!-- ui text -->
    <UIText Id="AbsentPath" />
    <UIText Id="bytes">!(loc.UITextbytes)</UIText>
    <UIText Id="GB">!(loc.UITextGB)</UIText>
    <UIText Id="KB">!(loc.UITextKB)</UIText>
    <UIText Id="MB">!(loc.UITextMB)</UIText>
    <UIText Id="MenuAbsent">!(loc.UITextMenuAbsent)</UIText>
    <UIText Id="MenuAdvertise">!(loc.UITextMenuAdvertise)</UIText>
    <UIText Id="MenuAllCD">!(loc.UITextMenuAllCD)</UIText>
    <UIText Id="MenuAllLocal">!(loc.UITextMenuAllLocal)</UIText>
    <UIText Id="MenuAllNetwork">!(loc.UITextMenuAllNetwork)</UIText>
    <UIText Id="MenuCD">!(loc.UITextMenuCD)</UIText>
    <UIText Id="MenuLocal">!(loc.UITextMenuLocal)</UIText>
    <UIText Id="MenuNetwork">!(loc.UITextMenuNetwork)</UIText>
    <UIText Id="NewFolder">!(loc.UITextNewFolder)</UIText>
    <UIText Id="ScriptInProgress">!(loc.UITextScriptInProgress)</UIText>
    <UIText Id="SelAbsentAbsent">!(loc.UITextSelAbsentAbsent)</UIText>
    <UIText Id="SelAbsentAdvertise">!(loc.UITextSelAbsentAdvertise)</UIText>
    <UIText Id="SelAbsentCD">!(loc.UITextSelAbsentCD)</UIText>
    <UIText Id="SelAbsentLocal">!(loc.UITextSelAbsentLocal)</UIText>
    <UIText Id="SelAbsentNetwork">!(loc.UITextSelAbsentNetwork)</UIText>
    <UIText Id="SelAdvertiseAbsent">!(loc.UITextSelAdvertiseAbsent)</UIText>
    <UIText Id="SelAdvertiseAdvertise">!(loc.UITextSelAdvertiseAdvertise)</UIText>
    <UIText Id="SelAdvertiseCD">!(loc.UITextSelAdvertiseCD)</UIText>
    <UIText Id="SelAdvertiseLocal">!(loc.UITextSelAdvertiseLocal)</UIText>
    <UIText Id="SelAdvertiseNetwork">!(loc.UITextSelAdvertiseNetwork)</UIText>
    <UIText Id="SelCDAbsent">!(loc.UITextSelCDAbsent)</UIText>
    <UIText Id="SelCDAdvertise">!(loc.UITextSelCDAdvertise)</UIText>
    <UIText Id="SelCDCD">!(loc.UITextSelCDCD)</UIText>
    <UIText Id="SelCDLocal">!(loc.UITextSelCDLocal)</UIText>
    <UIText Id="SelChildCostNeg">!(loc.UITextSelChildCostNeg)</UIText>
    <UIText Id="SelChildCostPos">!(loc.UITextSelChildCostPos)</UIText>
    <UIText Id="SelCostPending">!(loc.UITextSelCostPending)</UIText>
    <UIText Id="SelLocalAbsent">!(loc.UITextSelLocalAbsent)</UIText>
    <UIText Id="SelLocalAdvertise">!(loc.UITextSelLocalAdvertise)</UIText>
    <UIText Id="SelLocalCD">!(loc.UITextSelLocalCD)</UIText>
    <UIText Id="SelLocalLocal">!(loc.UITextSelLocalLocal)</UIText>
    <UIText Id="SelLocalNetwork">!(loc.UITextSelLocalNetwork)</UIText>
    <UIText Id="SelNetworkAbsent">!(loc.UITextSelNetworkAbsent)</UIText>
    <UIText Id="SelNetworkAdvertise">!(loc.UITextSelNetworkAdvertise)</UIText>
    <UIText Id="SelNetworkLocal">!(loc.UITextSelNetworkLocal)</UIText>
    <UIText Id="SelNetworkNetwork">!(loc.UITextSelNetworkNetwork)</UIText>
    <UIText Id="SelParentCostNegNeg">!(loc.UITextSelParentCostNegNeg)</UIText>
    <UIText Id="SelParentCostNegPos">!(loc.UITextSelParentCostNegPos)</UIText>
    <UIText Id="SelParentCostPosNeg">!(loc.UITextSelParentCostPosNeg)</UIText>
    <UIText Id="SelParentCostPosPos">!(loc.UITextSelParentCostPosPos)</UIText>
    <UIText Id="TimeRemaining">!(loc.UITextTimeRemaining)</UIText>
    <UIText Id="VolumeCostAvailable">!(loc.UITextVolumeCostAvailable)</UIText>
    <UIText Id="VolumeCostDifference">!(loc.UITextVolumeCostDifference)</UIText>
    <UIText Id="VolumeCostRequired">!(loc.UITextVolumeCostRequired)</UIText>
    <UIText Id="VolumeCostSize">!(loc.UITextVolumeCostSize)</UIText>
    <UIText Id="VolumeCostVolume">!(loc.UITextVolumeCostVolume)</UIText>
</UI>

这来自 3.0.5217.0 源。

于 2009-04-28T16:23:04.563 回答
1

你看过很棒的 WiX 教程吗,这里有一个 UI 页面存档)?

据我记得,您可以从那里下载的 UI 示例中有一堆 UI 对话框。不确定它是否是“完整”和最终的列表——但如果我没记错的话,肯定是一个相当不错的列表。

编辑:真的很难找到这些对话框的完整列表!嘿 Rob - 如果你读到了这篇文章 - 这将是你的 WiX 帮助文件和 wix.sourceforge.net 上的常见问题解答的一个很好的补充!

我什至在源代码中都找不到任何东西......

但是挖掘我的一些代码,有一段时间,我一定找到了一个“WiXUI......wxi”片段文件,因为我调整了对话框列表以删除“许可协议”对话框。除此之外,我认为我的清单应该是完整的:

<!--
First-time install dialog sequence:      Maintenance dialog sequence:
 - WixUI_WelcomeDlg                     - WixUI_MaintenanceWelcomeDlg
 - WixUI_LicenseAgreementDlg            - WixUI_MaintenanceTypeDlg
 - WixUI_CustomizeDlg                     - WixUI_CustomizeDlg
   - WixUI_VerifyReadyDlg                 - WixUI_VerifyReadyDlg
   - WixUI_DiskCostDlg
-->

<Wix xmlns="http://schemas.microsoft.com/wix/2003/01/wi">
    <Fragment>
       <UI Id="WixUI_NoLicenseAgreement">
        <Property Id="DefaultUIFont" Value="WixUI_Font_Normal" />
        <Property Id="WixUI_Mode" Value="FeatureTree" />

        <DialogRef Id="BrowseDlg" />
        <DialogRef Id="CustomizeDlg" />
        <DialogRef Id="DiskCostDlg" />
        <DialogRef Id="ErrorDlg" />
        <DialogRef Id="ExitDialog" />
        <DialogRef Id="FatalError" />
        <DialogRef Id="FilesInUse" />
        <DialogRef Id="MaintenanceTypeDlg" />
        <DialogRef Id="MaintenanceWelcomeDlg" />
        <DialogRef Id="MsiRMFilesInUse" />
        <DialogRef Id="PrepareDlg" />
        <DialogRef Id="ProgressDlg" />
        <DialogRef Id="ResumeDlg" />
        <DialogRef Id="UserExit" />
        <DialogRef Id="VerifyReadyDlg" />
        <DialogRef Id="WelcomeDlg" />

当然,这些对话框出现的顺序是由安装中的“UI 序列”控制的。

马克

于 2009-04-28T15:43:58.293 回答