开发者

Wix 3, drop exit dialog

开发者 https://www.devze.com 2023-02-05 01:53 出处:网络
Is it possible to skip the finish dialog after installation? 开发者_StackOverflowThe reason why we want this is because we launch a new installation when the first installation finished, and that wor

Is it possible to skip the finish dialog after installation?

开发者_StackOverflowThe 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.


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.


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).

0

精彩评论

暂无评论...
验证码 换一张
取 消