0

Using WIX to create a MSI installer I added a UI to select the installation path

<Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR" />
<UIRef Id="WixUI_InstallDir" />

In the dialog that selects the path I'd like a Install button instead of Next

So, how can I jump VerifyReadyDlg?

Carlos Gil
  • 593
  • 3
  • 10
  • 25

2 Answers2

2

Here are two possible options, both involve modifying the installation dialogs:

  • Modify your dialog Next button to say "Install" instead of "Next". After that create for it the same control events used by Install button on VerifyReadyDlg.

or

  • Modify VerifyReadyDlg to contain folder selection controls and remove your current dialog.

You can try using a dialog editor or you can write the controls and control events by hand. Perhaps this will help: GUI for Dialog-design for WiX

Community
  • 1
  • 1
Cosmin
  • 21,216
  • 5
  • 45
  • 60
0

(Please note that this answer is for any future searchers and I came across this post while looking for answers myself)

I have been searching into a similar dilemma-- I basically wanted a minimum UI for install but to be able to customize the UI for an uninstall/repair.

I have found it is easiest to just create a custom UI for the process, It's as simple as including a new .wxs file in the project and putting using the following code;

(In your main .wxs file - inside the product tags)

<UIRef Id ="WixUI_MyCustomUI" /> 

(In the newly created WixUI_MyCustomUI.wxs)

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
    <UIRef Id="WixUI_Common"/>

    <UI Id="WixUI_MyCustomUI" >
      <TextStyle Id="WixUI_Font_Normal" FaceName="Tahoma" Size="8" />
      <TextStyle Id="WixUI_Font_Bigger" FaceName="Tahoma" Size="12" />
      <TextStyle Id="WixUI_Font_Title" FaceName="Tahoma" Size="9" Bold="yes" />

      <Property Id="DefaultUIFont" Value="WixUI_Font_Normal" />

      <DialogRef Id="ErrorDlg" />
      <DialogRef Id="FatalError" />
      <DialogRef Id="FilesInUse" />
      <DialogRef Id="UserExit" />

      <Publish Dialog="MaintenanceWelcomeDlg" Control="Next" Event="NewDialog" Value="MaintenanceTypeDlg">1</Publish>

      <Publish Dialog="MaintenanceTypeDlg" Control="RepairButton" Event="NewDialog" Value="VerifyReadyDlg">1</Publish>
      <Publish Dialog="MaintenanceTypeDlg" Control="RemoveButton" Event="NewDialog" Value="VerifyReadyDlg">1</Publish>
      <Publish Dialog="MaintenanceTypeDlg" Control="Back" Event="NewDialog" Value="MaintenanceWelcomeDlg">1</Publish>

      <!-- Greys out the 'Change' button on MaintenanceTypeDlg -->
      <Property Id="ARPNOMODIFY" Value="1" />

      <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="MaintenanceTypeDlg" Order="2">Installed</Publish>

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

    </UI>
</Fragment>
</Wix>

I can comment things line by line if you need more clarification but I recon this should solve your problem.

Basically you're creating a UI without any dialogs for your install- so the UI will default those properties from "WixUI_Common". The installer will function similarly to what you describe in your post.

DrMattsuu
  • 191
  • 1
  • 10