Hello,
I have an installer (v1.0.0) with two "Feature-based" prereqs (also v1.0.0). These prereqs were each set to "Force Reboot after install", but I'd been passing the /norestart flag to suppress this.
I'm creating v2.0.0 of the installer (with v2.0.0 of each prereq). I made some changes to move the prereqs to "Pre-install" and set their behavior to "Suppress all Reboots and Reboot prompts". My problem is that when upgrading the from 1.0.0 to 2.0.0, it'll (successfully?) upgrade the first prereq, not attempt to upgrade the second prereq, and show an exception dialog stating "Prereq 2 mandatory prerequisite was not correctly installed."
My understanding is that during the upgrade, it uninstalls the version 1.0.0 of the prereq with the 1.0.0 installer (which is set to force reboot), then runs an install with the new 2.0.0 prereq installer (set to suppress all reboots). But because the old uninstall requested a reboot, the prereq upgrade returns 3010 to the main installer and terminates the main installation process (or something like that).
Is there any way to edit the new installer to avoid this? I tried adding CAs to set the REBOOT and MsiSystemRebootPending properties in the prereq installers, but those don't seem to have any impact.
I've attached a sample project that reproduces the problem. Just run version 1.0.0 of "Installer - Main" in the "Initial" folder, then version 2.0.0 of "Installer - Main" in the "Upgrade" folder.
Thanks,
- Justin