thanks for looking at this issue.
I have converted our installer project from producing an .msi file to produce an .exe. The main reason being the UAC prompt that is presented at the time of the launch, rather than later. That solves a number of inconvenient issues for us.
Now, what I observe is that the ExitDialog action is now performed twice in a row! That poses a problem for us. Two Custom Actions are performed when the 'Finish' button is clicked. But it seems the first instance of the ExitDialog is immediately closed (via the 'Finish' button?; I don't know - I don't click it).
I can't say I see first dialog open and then close and then the second one opens.
I have a theory of what is happening. The .exe bootstrapper launches the second instance, the real install. That second instance runs and executes the ExitDialog, but doesn't make it visible. It closes (via an automated 'Finish' action?), so the two custom actions run. Then, the first instance of installer displays the Exit Dialog.
So, the question is how to ensure the 'real' ExitDialog - the one I see - is the one that launches our custom actions?
Here is the log:
MSI (c) (98:F8) [19:27:05:383]: Doing action: ExitDialog
Action start 19:27:05: ExitDialog.
Action ended 19:27:49: ExitDialog. Return value 1.
MSI (c) (98:F8) [19:27:49:712]: Doing action: DEC_XXX <<<---- this is invoked when the 'Finish' button is clicked.
Action start 19:27:49: DEC_XXX
Action ended 19:27:49: DEC_XXX. Return value 1.
MSI (c) (98:F8) [19:27:49:823]: Doing action: ExitDialog
Action start 19:27:49: ExitDialog.
Action ended 19:27:49: ExitDialog. Return value 1.
MSI (c) (98:F8) [19:27:49:823]: Doing action: DEC_YYY <<<---- this is invoked when the 'Finish' button is clicked.
Action start 19:27:49: DEC_YYY.
Action ended 19:27:49: DEC_YYY. Return value 1.
MSI (c) (98:F8) [19:27:49:885]: Doing action: ExitDialog
Action start 19:27:49: ExitDialog.
Action ended 19:27:49: ExitDialog. Return value 1.