WixEdit - 自定义UI序列

时间:2012-09-17 12:14:21

标签: installer wix

我正在使用WixEdit为我们的应用程序创建安装。我正在寻找创建一个自定义对话框来放入UI序列,允许安装程序输入一些配置,该配置位于与可执行文件一起安装的.config文件中。

但是,我在定义UI序列时遇到了一些麻烦。我创建了一个带有文本和编辑字段的简单对话框。我想在ProgressDlg之前显示这个。

我在WXS文件中有以下XML:

<UI>
    <Dialog Id="ProductConfigurationDialog" Width="370" Height="270" Title="[ProductName] Setup">
        <Control Type="Text" Id="TextServerName" Width="60" Height="17" X="8" Y="15" Text="OPC Server:" />
        <Control Type="Edit" Id="EditServerName" Width="151" Height="15" X="79" Y="15" Text="[SERVERNAME]" />
    </Dialog>
    <InstallUISequence>
        <Show Dialog="FatalError" OnExit="error" />
        <Show Dialog="UserExit" OnExit="cancel" />
        <Show Dialog="ExitDialog" OnExit="success" />
        <Show Dialog="PrepareDlg" After="LaunchConditions" />
        <Show Dialog="WelcomeDlg" After="MigrateFeatureStates"><![CDATA[NOT Installed]]></Show>
        <Show Dialog="ResumeDlg" After="WelcomeDlg"><![CDATA[Installed AND (RESUME OR Preselected)]]></Show>
        <Show Dialog="MaintenanceWelcomeDlg" After="ResumeDlg"><![CDATA[Installed AND NOT RESUME AND NOT Preselected]]></Show>
        <Show Dialog="ProductConfigurationDialog" After="MaintenanceWelcomeDlg" />
        <Show Dialog="ProgressDlg" After="ProductConfigurationDialog" />
    </InstallUISequence>
</UI>

所以我的自定义对话框叫做ProductConfigurationDialog。我从UISample.wxs复制了InstallUISequence,但是我收到了以下错误。

C:\delivery\Dev\wix30_public\src\ext\UIExtension\wixlib\FatalError.wxs(29) : error LGHT0170 : The InstallUISequence table contains an action 'FatalError' that is declared in two different locations.  Please remove one of the actions or set the Overridable='yes' attribute on one of their elements.
D:\Sandbox\OPS Wix Install\SetupOPC\SetupOPC\QuorumOPCSetup.wxs(122) : error LGHT0171 : The location of the action related to previous error.
C:\delivery\Dev\wix30_public\src\ext\UIExtension\wixlib\UserExit.wxs(29) : error LGHT0170 : The InstallUISequence table contains an action 'UserExit' that is declared in two different locations.  Please remove one of the actions or set the Overridable='yes' attribute on one of their elements.
D:\Sandbox\OPS Wix Install\SetupOPC\SetupOPC\QuorumOPCSetup.wxs(123) : error LGHT0171 : The location of the action related to previous error.
C:\delivery\Dev\wix30_public\src\ext\UIExtension\wixlib\ExitDialog.wxs(33) : error LGHT0170 : The InstallUISequence table contains an action 'ExitDialog' that is declared in two different locations.  Please remove one of the actions or set the Overridable='yes' attribute on one of their elements.
D:\Sandbox\OPS Wix Install\SetupOPC\SetupOPC\QuorumOPCSetup.wxs(124) : error LGHT0171 : The location of the action related to previous error.
C:\delivery\Dev\wix30_public\src\ext\UIExtension\wixlib\PrepareDlg.wxs(35) : error LGHT0170 : The InstallUISequence table contains an action 'PrepareDlg' that is declared in two different locations.  Please remove one of the actions or set the Overridable='yes' attribute on one of their elements.
D:\Sandbox\OPS Wix Install\SetupOPC\SetupOPC\QuorumOPCSetup.wxs(125) : error LGHT0171 : The location of the action related to previous error.
C:\delivery\Dev\wix30_public\src\ext\UIExtension\wixlib\WelcomeDlg.wxs(29) : error LGHT0170 : The InstallUISequence table contains an action 'WelcomeDlg' that is declared in two different locations.  Please remove one of the actions or set the Overridable='yes' attribute on one of their elements.
D:\Sandbox\OPS Wix Install\SetupOPC\SetupOPC\QuorumOPCSetup.wxs(126) : error LGHT0171 : The location of the action related to previous error.
C:\delivery\Dev\wix30_public\src\ext\UIExtension\wixlib\ProgressDlg.wxs(60) : error LGHT0170 : The InstallUISequence table contains an action 'ProgressDlg' that is declared in two different locations.  Please remove one of the actions or set the Overridable='yes' attribute on one of their elements.
D:\Sandbox\OPS Wix Install\SetupOPC\SetupOPC\QuorumOPCSetup.wxs(130) : error LGHT0171 : The location of the action related to previous error.
C:\delivery\Dev\wix30_public\src\ext\UIExtension\wixlib\ResumeDlg.wxs(46) : error LGHT0170 : The InstallUISequence table contains an action 'ResumeDlg' that is declared in two different locations.  Please remove one of the actions or set the Overridable='yes' attribute on one of their elements.
D:\Sandbox\OPS Wix Install\SetupOPC\SetupOPC\QuorumOPCSetup.wxs(127) : error LGHT0171 : The location of the action related to previous error.
C:\delivery\Dev\wix30_public\src\ext\UIExtension\wixlib\MaintenanceWelcomeDlg.wxs(31) : error LGHT0170 : The InstallUISequence table contains an action 'MaintenanceWelcomeDlg' that is declared in two different locations.  Please remove one of the actions or set the Overridable='yes' attribute on one of their elements.
D:\Sandbox\OPS Wix Install\SetupOPC\SetupOPC\QuorumOPCSetup.wxs(128) : error LGHT0171 : The location of the action related to previous error.

如何在UI序列中包含其他自定义对话框?

我刚刚开始使用WiX,因此任何信息或解决方案都会受到欢迎。我正在使用最新版本的WiX 3.6和WixEdit 0.7.5.0来完成此任务。

0 个答案:

没有答案