I've made a couple other posts lately as I discover these issues, but more keep popping up, and I'm quickly losing confidence in AI's implementation of the Enhanced UI functionality. We chose AI in large part because of its UI editing/theming capabilities, which of course requires an Enhanced UI/bootstrapper-based setup, but we also need standard MSI functionality to be in place and working.
[*]We write the UILevel property to the registry for bookkeeping purposes. This works as expected except when running with reduced UI (/qr switch). In this case, the UILevel is correctly set to 4 during the UI sequence, but during the execute sequence (when the registry value is written) it is set to 5 (full UI). I'm inferring that the bootstrapper is calling msiexec twice (once for each sequence) as part of the Enhanced UI implementation, and it is not retaining command line parameters and certain property values from the first execution.
[*]msiexec switches specified after a property on the command line are lost during the execute sequence. For example, with the following command line:
Setup.exe /qr PROPERTY=value /l*v log.txt, the /l*v log.txt is not passed to msiexec for the execute sequence and logging only occurs during the UI sequence. If the switch is placed before PROPERTY=value, logging works correctly during both. Windows Installer does not mandate that command line switches must precede all properties on the command line, and if AI imposes such a restriction, it seems to me it should at least be an error condition if not met. Diagnosing these non-standard behaviors is time consuming for our team.
[*]The log file flow seems to be non-standard. I do not see the normal client-side properties dump at the end of the log nor the standard: "Product: [Product] -- Installation completed successfully." message and similar messages when running a bootstrapper-based package.