2010-07-21 40 views
3

我想知道是否可以在我的欢迎屏幕上显示“取消”按钮完全退出安装程序而不显示最终的“安装中断”对话框。当用户还没有开始安装时,我认为这是多余的。在不显示“安装中断”对话框的情况下取消MSI

如果用户取消安装已经启动,但是如果安装尚未启动(如果取消按钮打在欢迎页面上,则仍然如此),我仍希望显示该对话框屏幕)。

我已经尝试了各种各样的东西,但是我对Windows安装程序如何工作以了解解决方案缺乏正确的理解。

更新:得到它的工作!我最终使用了两个建议的组合 - 我希望我可以给你两个答案,但我会给它光线,因为他有最低的代表。但我会让他们两个都高兴。下面是我如何做的(我仍然感到惊讶)

我使用Publish元素作为射线建议,但不是调用事件(没有事件称为“完成”),我设置了一个属性“ AbortInstall”到1

<Publish Dialog="SimpleDlg" 
        Control="Cancel" 
        Property="AbortInstall" 
        Value="1">1</Publish> 

我下维克斯/片段/ UI我的自定义设置文件WixUI_Simple.wxs这样做

然后,里面UserExit.wxs我修改了InstallUISequence如下:

<InstallUISequence> 
      <Show Dialog="Simple_UserExit" 
        OnExit="cancel">NOT AbortInstall = 1</Show> 
     </InstallUISequence> 

......这是克里斯托弗建议的想法。

感谢你们俩!

+0

很高兴我能帮忙:) – 2010-07-24 21:53:43

回答

1

我还没有测试过,所以它可能不会在半点工作,但到底是什么。

你或许可以创建一个取消按钮控制的WelcomeDlg发布元素,像这样:

<Publish Dialog="WelcomeDlg" Control="Cancel" Event="Finish" Value="Exit">1</Publish> 

让我知道如何去:)

3

你InstallUISequence表看看:

http://msdn.microsoft.com/en-us/library/aa369543(VS.85).aspx

通知的特殊对话为-1的序列,-2和-3。注意你也可以在对话框中添加一个条件。有了一点创造力,你可以使用一个属性作为标志来确定你的安装是否真正开始,并防止或显示有问题的对话框。

1

仅供参考&乐趣。
如何到隐藏退出对话框
在您的自定义WixUI_xxxxx。WXS<UI>标签的地方

<Product>标签插入:

<Property Id="ExitSuccess" Value="1" /> 

而且

<InstallUISequence> 
    <Show Dialog="MyNewDlg" After="SomeAction">Installed</Show> 
    <Show Dialog="ExitDialog" OnExit="success">NOT ExitSuccess = 1</Show> 
</InstallUISequence> 

这就是全部。

相关问题