1

I'm having a problem with the wix installer. I want to remove the last dialog window when installing my application. The last dialog only shows the message "installation successful" and the user has to click finish. I want the installation to close automatically after the progress bar reaches 100%.

I tried the approach Changing the UI sequence of a built-in dialog set but i got numerous errors and could not get it to work. I also tried user "joylons" answer here but had no success either.

Is there another way to get this to work? Or can someone help me with the mentioned approach? I am using the WixUI_Minimal scheme:

<UI>
    <UIRef Id="WixUI_Minimal"/>
</UI>

EDIT: Based on other answers I tried to use WixUI_Common and alter the sequences.

<UI>
      <Property Id="WIXUI_INSTALLDIR" Value="TARGETDIR" />
      <Property Id="WixUI_Mode" Value="Custom" />

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

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

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

      <Publish Dialog="ExitDialog" Control="Finish" Event="EndDialog" Value="Return" Order="999">1</Publish>
      <Publish Dialog="WelcomeDlg" Control="Next" Event="EndDialog" Value="Return" Order="1"></Publish>
     </UI>
     <UIRef Id="WixUI_Common" />

      <InstallUISequence>
        <Show Dialog="WelcomeDlg" Sequence="1"/>
      </InstallUISequence>

      <AdminUISequence>
        <Show Dialog="WelcomeDlg" Sequence="1"/>
      </AdminUISequence>

Changes to the InstallUISequence or AdminUISequence do not seem to have any impact. The installer still shows the three dialogs: licence, progress and then the finished dialog. I tried to remove the Publish Dialog="ExitDialog" and get the error: "Exit dialog/action not found in 'InstallUISequence' Sequence Table"

EDIT2: I changed my UI Tag like this (according to Chris Eelmaa's answer):

<Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR" />     
  <UIRef Id="WixUI_Minimal"/>
  <UI>
    <InstallUISequence>
      <Show Dialog="ExitDialog" OnExit="success">0</Show>
    </InstallUISequence>
    <AdminUISequence>
      <Show Dialog="ExitDialog" OnExit="success">0</Show>
    </AdminUISequence>
  </UI>

Unfortunatelly the dialog is still shown at the end of the installation process...

EDIT3 (25.03.15) The problem seems to be the bootstrapper I'm using. Without the bootstrapper Chris Eelmaa's solution works. The bootstrapper seems to ignore all of the changes i make in my .wxs file and still displays the ExitDialog. Any suggestions?

Community
  • 1
  • 1
Facy87
  • 145
  • 1
  • 2
  • 11

1 Answers1

3

It's pretty easy, basically you need to overwrite the scheduled "Show exit dialog when installation was successful", and say that it should never happen. The "0" means disabled.

<InstallUISequence>
    <Show Dialog="ExitDialog" OnExit="success">0</Show>
</InstallUISequence>

<AdminUISequence>
    <Show Dialog="ExitDialog" OnExit="success">0</Show>
</AdminUISequence>
Erti-Chris Eelmaa
  • 25,338
  • 6
  • 61
  • 78
  • Hey, thank you for the answer! I tried that, but get the following error messages: "ICE20: UserExit dialog/action not found in 'InstallUISequence' Sequence Table" and "ICE20: UserExit dialog/action not found in 'AdminUISequence' Sequence Table". Any suggestions? – Facy87 Feb 18 '15 at 14:19
  • @Facy87: Ignore what I said. Updated the post. – Erti-Chris Eelmaa Feb 18 '15 at 19:40
  • Unfortunately it does not seem to work. I can build the project without errors, but the dialog is shown again. My UI tag: ` 0 0 ` – Facy87 Feb 19 '15 at 08:35
  • @Facy87: Weird. I tried it myself and it worked. My definition **order** was: 1) WIXUI_InstallDir, 2) UIRef Id="WixUI_Minimal", 3) UI InstallUISequence stuff.. – Erti-Chris Eelmaa Feb 19 '15 at 10:40
  • Hmm... I edited my question. The code should be clearer now. I don't know why it is not working. Did you also copy the Code from the WixUI_Minimal source? – Facy87 Feb 19 '15 at 13:25
  • I partially solved the issue now. The problem is the bootstrapper I'm using. Without the bootstrapper your solution works! The bootstrapper seems to ignore all of the changes i make in my .wxs file and still displays the ExitDialog. – Facy87 Feb 25 '15 at 12:11
  • @Facy87: Itś unclear how you show the UI in bootstrapper. See if "DisplayInternalUI" helps you. http://stackoverflow.com/questions/15805571/using-bootstrapper-with-msi-ui – Erti-Chris Eelmaa Feb 26 '15 at 10:29
  • @Erti-ChrisEelmaa, how did you learn zero means disabled? [Docs](https://wixtoolset.org/documentation/manual/v3/xsd/wix/show.html) say it supports inner text but not what that does. – Vimes Jun 11 '22 at 00:02