Wix 3,删除退出对话框

发布于 2024-10-12 20:55:30 字数 527 浏览 6 评论 0原文

安装后是否可以跳过完成对话框?

我们想要这样做的原因是因为我们在第一次安装完成后启动了新的安装,并且这是有效的。但是,安装在用户按“完成”对话框上的“完成”后开始,但它应该运行新的安装,而不必按“完成”来启动。

我们使用的代码可以在以下位置找到:

https://gist.github.com/ raw/784215/7f7cc7dca73e10fd7d991c3926269719d6b204c6/mycustomui.wxs

在几个步骤中,这就是我想要做的:

  • 用户运行.msi,显示带有语言的组合框的对话框
  • 用户在组合框中选择语言,然后按“下一步”按钮
  • 安装程序解压/安装“真正的”msi,然后退出,然后使用自定义操作以正确的参数启动“真正的”安装。

Is it possible to skip the finish dialog after installation?

The reason why we want this is because we launch a new installation when the first installation finished, and that works. However, the installation starts after the user presses finish on the "finish" dialog, but it should instead run the new installation without having to press finish for it to start.

The code we use can be found at:

https://gist.github.com/raw/784215/7f7cc7dca73e10fd7d991c3926269719d6b204c6/mycustomui.wxs

In a few steps here is what I want to do:

  • User runs the .msi, a dialog with a combobox with languages is shown
  • User selects languages in the combobox and presses Next button
  • Installer unpacks/installs the "real" msi and then exits, and then uses a custom action to start "the real" install with correct parameters.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

淡忘如思 2024-10-19 20:55:30

最适合您提到的场景的东西称为 bootstrapper。有多种选择,您可以找到这个线程很有趣。顺便说一句,据我所知, dotNetInstaller 支持您开箱即用描述的语言场景。

The thing which fits best for the scenario you mentioned is called a bootstrapper. There are several choices, you can find this thread interesting. BTW, as far as I know, dotNetInstaller supports the scenario with languages you described out of the box.

唐婉 2024-10-19 20:55:30

您当前使用
请参阅 自定义内置 WixUI 对话框集。这解释了如何自定义现有的 UI。这是该页面的示例:

例如,要删除
LicenseAgreementDlg 来自
WixUI_InstallDir 对话框设置,您将
执行以下操作:

  1. 复制定义的完整内容
    WiX 源中的 WixUI_InstallDir.wxs
    为您的项目编写代码。
  2. 删除用于添加“上一个”和“下一个”的元素
    LicenseAgreementDlg 的事件。
  3. 更改用于添加 Next 事件的元素
    WelcomeDlg 转到
    InstallDirDlg 而不是
    许可协议Dlg.例如:

    <发布对话框=“WelcomeDlg”控制=“下一步”事件=“NewDialog”值=“InstallDirDlg”>1
    
  4. 更改用于添加 Back 事件的元素
    InstallDirDlg 转到
    WelcomeDlg 而不是
    许可协议Dlg.例如:

    1;
    

您还可以创建自己的 UI 定义。 (如果不包含任何 UI 或 UIRef,则根本不会有 UI)。

You currently use <UIRef Id="WixUI_Common" />
See the chapter "Changing the UI sequence of a built-in dialog set" on Customizing Built-in WixUI Dialog Sets. That explains how to customize an existing UI. Here is an example from that page:

For example, to remove the
LicenseAgreementDlg from the
WixUI_InstallDir dialog set, you would
do the following:

  1. Copy the full contents of the defined in
    WixUI_InstallDir.wxs in the WiX source
    code to your project.
  2. Remove the elements that are used to add Back and Next
    events for the LicenseAgreementDlg.
  3. Change the element that is used to add a Next event to
    the WelcomeDlg to go to the
    InstallDirDlg instead of the
    LicenseAgreementDlg. For example:

    <Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="InstallDirDlg">1</Publish>
    
  4. Change the element that is used to add a Back event to
    the InstallDirDlg to go to the
    WelcomeDlg instead of the
    LicenseAgreementDlg. For example:

    <Publish Dialog="InstallDirDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg">1</Publish>
    

You can also create your own UI definition. (If you don't include any UI or UIRef, there will be no UI at all).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文