在WiX中,根据条件尽早结束安装

时间:2012-05-09 20:18:08

标签: installer wix wix3.5

我需要在显示欢迎对话框之后根据特定条件提前结束我的安装,然后显示自定义消息对话框(已编写),解释安装程序退出的原因。这是我的代码:

    <Publish Dialog="WelcomeDlg" Control="Next" Event="DoAction" Value="CheckForCondition" Order="1">1</Publish>
    <Publish Dialog="WelcomeDlg" Control="Next" Event="SpawnDialog" Value="ConditionExistsMsgDlg" Order="2">CONDITIONEXISTS = "1"</Publish>
    <Publish Dialog="WelcomeDlg" Control="Next" Event="?????" Value="??????" Order="3">CONDITIONEXISTS = "1"</Publish>
    <Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="AfterWelcomeDlg" Order="4">CONDITIONEXISTS = "0"</Publish>

Order = 3中的事件和值字段有什么作用?我尝试了WixExitEarlyWithSuccess CA,但确实表明存在错误。我想在没有MSI的情况下进入某种Finished对话框,通知用户有错误。这可能吗?

2 个答案:

答案 0 :(得分:1)

事件应该是NewDialog,Value应该是您想要显示的自定义对话框(某种Finished对话框),例如CustomExitDlg。

您还需要确保在单击“完成”(或您在自定义最终屏幕上定义的其他按钮)后安装程序返回。这是默认WiX安装UI的标准规则:

<Publish Dialog="ExitDialog" Control="Finish" Event="EndDialog" Value="Return" Order="999">1</Publish>

答案 1 :(得分:1)

Tutorial中声明从对话框返回&#34;返回&#34;恢复正常操作(取消按钮会做什么)而#34;退出&#34;用于中止整个安装过程..很可能对话框UserExit.wxs将链接到此(通过OnExit =&#34;取消&#34;!)并根据您使用的对话框显示。如果您不希望在&#34;退出&#34;之后出现任何问题。你需要从你的UI中删除UserExit ..

您可以下载Wix工具集源代码(wixXY-debug.zip)并查看文件夹&#34; .. \ src \ ext \ UIExtension \ wixlib&#34;如果你想看看它是如何在标准对话框中完成的,例如UserExit.wxs。