WiX Burn after restart/force reboot continuing installation
burn, installation, windows-xp, wix, wix3.7
Solution
When the Bundle is started again after a restart the `BOOTSTRAPPER_COMMAND` struct passed to your `BootstrapperApplicationCreate` function contains a `resumeType` field that will be set to `BOOTSTRAPPER_RESUME_TYPE_REBOOT`. In managed code, the `BootstrapperApplication` class contains a `Command` property that contains the `resume` field.
For example in managed code, to tell that your `BootstrapperApplication` started after a restart, you can check:
if (BootstrapperApplication.Command.resume == ResumeType.Reboot)
{
// started after restart, go straight to Detect->Plan->Apply to finish the
// previous operation. BootstrapperApplication.Command.action will tell us
// the action to complete.
}
else
{
// started normally, show typical UI scenarios.
}
Problem
I have a WiX Burn custom installer using ManagedBootstrapperApplicationHost. After installing one of the prerequisite Microsoft Windows Installer 4.5 I forcefully reboot the PC (Windows XP) using: ``` <ExitCode Behavior="forceReboot"/> ``` The Bundle chain looks like this: ``` <Chain> <PackageGroupRef Id="WindowsInstaller45"/> <PackageGroupRef Id="Netfx2Full"/> <PackageGroupRef Id="Netfx4Full"/> <PackageGroupRef Id="CustomPkg"/> <PackageGroupRef Id="SQLExpress"/> </Chain> ``` After it reboots, I want my installation to continue after that, but it actually detects the installation and shows Uninstall option. How can I detect an unfinished installation when reboot happens during installation?