我正在使用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来完成此任务。