Search code examples
wixinstallationwix3.7

Publish install event


I am creating a WiX installer, and have configured it to show a prompt when the user clicks 'install' if the user is missing a certain file. I added this line in order to link my custom prompt to the rest of my dialogs (My prompt is called Custom_Cancel):

<Publish Dialog="VerifyReadyDlg" 
         Control="Install" 
         Event="SpawnDialog" 
         Value="Custom_Cancel" 
         Order="5">
     <![CDATA[WixUI_InstallMode = "InstallClient" AND REMINDEX_SHORTCUT = ""]]></Publish>

If the user is missing a certain file, when they press install, the prompt pops up. If the user wants to cancel the installation, they press cancel, and if they want to continue they press OK. When the user presses OK, I would like the installation to begin, as if the user had pressed "install".

However, now that I have changed the behaviour of the install button to allow the prompt to pop up, I've lost the link to the 'install event'. I looked in the VerifyReadyDlg source code to find what event gets published when the 'install' button is pressed, but I couldn't find anything.

I tried a sketchy fix in which I attempted to set a property with the OK button. I tried making the prompt only pop up if this property had not been set, so that the user could press OK, then 'install', which would now start the installation. I couldn't get that to work though.

Does anyone know the event I should fire if I want the installation to start when OK is clicked?

Any suggestions would be greatly appreciated


Solution

  • If you apply the "EndDialog" event with a value of "Return" to the last open dialog in the installer, it will automatically start the installation.