Great. There is nothing wrong with this approach at all. I do prefer Managed Setup but not because it works better :)
As a side note, I am impressed that you are using native WiX dialog customization. I thought this development direction had no interest among developers.
You can also replace literal "ExitDialog" with enun:
As a side note, I am impressed that you are using native WiX dialog customization. I thought this development direction had no interest among developers.
You can also replace literal "ExitDialog" with enun:
project.CustomUI = new DialogSequence() .On(NativeDialogs.ExitDialog, Buttons.Finish, new ExecuteCustomAction("LaunchAfterClose", "WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 and NOT Installed") ...