成功安装后,不要在wix中显示ExitDlg

时间:2014-11-25 22:19:06

标签: c# visual-studio-2010 visual-studio wix

我使用WIX开发了安装程序并创建了bootstraper项目以包含其他依赖项。应用程序正在安装而没有问题。安装后,它显示成功对话框,用户单击Close对话框关闭后。我想要在安装应用程序后删除或隐藏该对话框。我已获取wix的源代码并将ExitDialog.wxs添加到我的项目中。

ExitDialog.wxs

<?xml version="1.0" encoding="UTF-8"?>
<!--
  <copyright file="ExitDialog.wxs" company="Outercurve Foundation">
    Copyright (c) 2004, Outercurve Foundation.
    This software is released under Microsoft Reciprocal License (MS-RL).
    The license and further copyright text can be found in the file
    LICENSE.TXT at the root directory of the distribution.
  </copyright>
-->
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
    <Fragment>
        <UI>
            <Dialog Id="ExitDialog" Width="370" Height="270" Title="!(loc.ExitDialog_Title)">
                <Control Id="Finish" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Cancel="yes" Text="!(loc.WixUIFinish)" />
                <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Disabled="yes" Text="!(loc.WixUICancel)" />
                <Control Id="Bitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Text="!(loc.ExitDialogBitmap)" />
                <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Disabled="yes" Text="!(loc.WixUIBack)" />
                <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
                <Control Id="Description" Type="Text" X="135" Y="70" Width="220" Height="40" Transparent="yes" NoPrefix="yes" Text="!(loc.ExitDialogDescription)" />
                <Control Id="Title" Type="Text" X="135" Y="20" Width="220" Height="60" Transparent="yes" NoPrefix="yes" Text="!(loc.ExitDialogTitle)" />
                <Control Id="OptionalText" Type="Text" X="135" Y="110" Width="220" Height="80" Transparent="yes" NoPrefix="yes" Hidden="yes" Text="[WIXUI_EXITDIALOGOPTIONALTEXT]">
                    <Condition Action="show">WIXUI_EXITDIALOGOPTIONALTEXT AND NOT Installed</Condition>
                </Control>
                <Control Id="OptionalCheckBox" Type="CheckBox" X="135" Y="190" Width="220" Height="40" Hidden="yes" Property="WIXUI_EXITDIALOGOPTIONALCHECKBOX" CheckBoxValue="1" Text="[WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT]">
                    <Condition Action="show">WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT AND NOT Installed</Condition>
                </Control>
            </Dialog>

            <InstallUISequence>
                <Show Dialog="ExitDialog" OnExit="success" Overridable="yes" />
            </InstallUISequence>

            <AdminUISequence>
                <Show Dialog="ExitDialog" OnExit="success" Overridable="yes" />
            </AdminUISequence>
        </UI>
    </Fragment>
</Wix>

我应该更改ExitDialog.wxs以隐藏ExitDlg对话框的值。需要帮助解决这个问题。

1 个答案:

答案 0 :(得分:0)

添加以下代码以禁止退出对话框就足够了。 您无需复制对话框。

        <InstallUISequence>
            <Show Dialog="ExitDialog" OnExit="success">0</Show>
        </InstallUISequence>

        <AdminUISequence>
            <Show Dialog="ExitDialog" OnExit="success">0</Show>
        </AdminUISequence>

通过这种方式,您可以覆盖从原始设计发布的片段中的相同声明,其中条件从未得到满足(0)。