2

我的安装项目中有两个 WIX 对话框

安装程序以“成功”状态终止时显示的最终形式

<Dialog Id="FinishedForm">
   ...
</Dialog>

和页面显示有关我们产品的几张幻灯片。

<Dialog Id="IntroductionTourPage">
   ...
   <Control Id="SkipTourButton" Type="PushButton">
      <Publish Event="NewDialog" Value="FinishedForm">1</Publish>
   </Control>
   ...
</Dialog>

我希望 IntroductionTourPage 仅在产品安装后显示(未升级或删除),但我不知道该怎么做。我试过了

<InstallUISequence>
    <Show Dialog="FinishedForm" OnExit="success">Condition</Show>
    <Show Dialog="IntroductionTourPage" OnExit="success">NOT Condition</Show>
</InstallUISequence>

但它在 Wix 中无效,因此这种方法失败了。然后我尝试了

<InstallUISequence>
    <Show Dialog="FinishedForm" Sequence="1">Condition</Show>
    <Show Dialog="IntroductionTourPage" Sequence="2">NOT Condition</Show>
</InstallUISequence>

它没有用。我当时试过

<InstallUISequence>
    <Show Dialog="FinishedForm" OnExit="success"/>
    <Show Dialog="IntroductionTourPage" Before="FinishedForm">Condition</Show>
</InstallUISequence>

但它在 Wix 中也无效。

现在我想尝试一下:

<InstallUISequence>
    <Custom Action="CA_ChooseAndShowDialogBasedOnCondition" OnExit="success"/>
</InstallUISequence>

但我找不到任何示例如何显示来自 CA 的 Wix 对话框。

有任何想法吗?

提前致谢, 安德烈

4

1 回答 1

1

我有一些不同的解决方案给你。如果您发现这适合您的要求,请尝试此操作。

将FinishedForm中的所有控件添加到IntroductionTourPage。使用IntroductionTourPage作为成功退出对话框。根据条件在IntroductionTourPage对话框中显示控件。

现在, IntroductionTourPage将同时充当FinishedFormIntroductionTourPage根据条件。如果需要,您可以使用 IntroductionTourPage 中的 FinishedForm 对话框。

示例: IntroductionTourPage 中的标题控件

   <Control Id="Title" Type="Text" X="188" Y="22" Width="330" Height="22" Transparent="yes" NoPrefix="yes" Text="Welcome to the IntroductionTourPage" >
            <Condition Action="hide">Condition</Condition>
   </Control>
  <Control Id="FinishTitle" Type="Text" X="188" Y="15" Width="316" Height="22" Transparent="yes" NoPrefix="yes" Text="Completed the Sample Setup Wizard" Hidden="yes">
            <Condition Action="show">Condition</Condition>
  </Control>
于 2013-05-28T10:57:55.347 回答