[wix-users] Burn with mba, force reboot in middle of chain and handle restart.

Phill Hogland phill.hogland at rimage.com
Fri Sep 11 09:32:09 PDT 2015


Thanks for all of the details!

-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Jeremy Drake
Sent: Friday, September 11, 2015 11:30 AM
To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
Subject: Re: [wix-users] Burn with mba, force reboot in middle of chain and handle restart.

> Reboot by setting e.Result to Result.Reboot.

Oops, that was supposed to be Result.Restart.


On Fri, 11 Sep 2015, Jeremy Drake wrote:

>>  What I am missing is what should I do in the mba to detect that the 
>> CA  indicated that a reboot is necessary and force the reboot. 
>> (Unfortunately  I have a later third-party package for which the 
>> setup will error out if  the error in the above CA is allowed to 
>> continue without doing the reboot
>>  immediately.)
>
> on ExecutePackageComplete, e.Restart is ApplyRestart.RestartRequired.  
> If the package in question (e.PackageId) is the package that you need 
> to do this for, and e.Restart is ApplyRestart.RestartRequired, set 
> e.Result = Result.Restart.  Then, on ApplyComplete, use e.Restart, 
> BootstrapperApplication.Command.Restart, and 
> BootstrapperApplication.Command.Display to decide to prompt for 
> reboot, automatically reboot, or not reboot.  Reboot by setting 
> e.Result to Result.Reboot.
>
>
> On Fri, 11 Sep 2015, Phill Hogland wrote:
>
>>  My mba driven package chain has a package which includes a CA in 
>> which I  call a system tool to do CBS servicing.  That tool may 
>> return 0x80070bc2
>>
>>  if (0x80070BC2 == hr) {  //success, reboot is needed, so changes may 
>> not  be effective until after the reboot  WcaLog(LOGMSG_STANDARD, 
>> "Return code, %d, indicates a reboot is needed.
>>  The installed features may not be available until after the next 
>> reboot,  but this setup will proceed.\n", hr);
>>        WcaDeferredActionRequiresReboot();
>>        hr = S_OK;
>>  }
>>
>>  I then found Sean's helpful advice on implementing the mba code to 
>> handle  the restart and I implemented the Startup and PlanPackageBegin changes.
>>  What I am missing is what should I do in the mba to detect that the 
>> CA  indicated that a reboot is necessary and force the reboot. 
>> (Unfortunately  I have a later third-party package for which the 
>> setup will error out if  the error in the above CA is allowed to 
>> continue without doing the reboot
>>  immediately.)
>>
>>  I saw the source for WIXAPI WcaDidDeferredActionRequireReboot() but 
>> am not  sure where I would call this (or equivalent) from my C# mba.
>>
>>  And then I also need to handle the situation where a reboot is not 
>> allowed  as this bundle might be part of a silent script, but that is 
>> a separate  issue.
>> 
>>
>>  Thanks for any advice.
>> 
>>
>>  ____________________________________________________________________
>>  WiX Toolset Users Mailing List provided by FireGiant  
>> http://www.firegiant.com/
>> 
>
> ____________________________________________________________________
> WiX Toolset Users Mailing List provided by FireGiant 
> http://www.firegiant.com/
>
>

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/



More information about the wix-users mailing list