【问题标题】:Cancel an MSI without showing the "installation interrupted" dialog取消 MSI 而不显示“安装中断”对话框
【发布时间】:2010-07-21 23:15:13
【问题描述】:

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

如果用户取消已经开始的安装,我仍然希望显示对话框,但如果安装尚未开始(如果取消按钮是点击欢迎屏幕)。

我尝试了各种方法,但我对 Windows Installer 如何找到解决方案缺乏正确的理解。

更新:让它工作!我最终使用了这两个建议的组合——我希望我能给你们两个答案,但我会把它交给雷,因为他的代表最低。但我会赞成他们两个。这是我的做法(我仍然很惊讶它的工作原理):

我按照 ray 的建议使用了 Publish 元素,但我没有调用事件(没有名为“Finish”的事件),而是将属性“AbortInstall”设置为1

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

我在 Wix/Fragment/UI 下的自定义设置文件 WixUI_Simple.wxs 中执行此操作

然后,在 UserExit.wxs 中,我将 InstallUISequence 修改如下:

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

...这是 Christopher 提出的想法。

谢谢你们!

【问题讨论】:

    标签: wix windows-installer wix3


    【解决方案1】:

    查看您的 InstallUISequence 表:

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

    请注意带有 -1、-2 和 -3 序列的特殊对话框。请注意,您还可以在对话框上设置条件。稍加创意,您就可以使用属性作为标志来确定您的安装是否真正开始并阻止或显示有问题的对话框。

    【讨论】:

      【解决方案2】:

      我还没有测试过这个,所以它可能根本不起作用,但到底是什么。

      您可能可以像这样在取消按钮控件上为 WelcomeDlg 创建一个 Publish 元素:

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

      让我知道进展如何:)

      【讨论】:

        【解决方案3】:

        仅供参考和乐趣。
        如何在隐藏退出对话框
        &lt;UI&gt; 标签下的自定义 WixUI_xxxxx.wxs

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

        &lt;Product&gt; 标签下插入:

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

        并且

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

        就是这样。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2022-08-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-08-01
          • 2011-12-01
          • 2021-07-23
          相关资源
          最近更新 更多