[wix-users] Forcing a reboot after installing an MSI from a Bundle

Herman van Drie hvandrie at outlook.com
Fri Sep 11 14:02:08 PDT 2020


Does you installer require to be installable through a software distribution tool like ConfigMgr (SCCM) or Intune (MEM)?

What I do, is took InstallShields ISchainer and create an .msi bundle. It's similar to an .exe, only now it runs fully from an .msi as main bundle which schedules all embedded .msi's to run in sequence based on conditions.
Example of ISChainpackage table:

Copy/Paste following into Excel sheet:
Package	SourcePath	ProductCode	Order	Options		InstallCondition		RemoveCondition	InstallProperties	RemoveProperties
VS2013AMD64Minimal	[INSTALLDIR]VS2013\vcRuntimeMinimum_amd64\vc_runtimeMinimum_x64.msi	{CB0836EC-B072-368D-82B2-D3470BF95707}	1	1	VersionNT And Not REMOVE~="ALL" And Not NEWERVC2013RUNTIMEMINIMUMVERSIONDETECTED	0=1	NOVSUI=1 REBOOT=ReallySuppress ALLUSERS=1	
VS2013AMD64Additional	[INSTALLDIR]VS2013\vcRuntimeAdditional_amd64\vc_runtimeAdditional_x64.msi	{5740BD44-B58D-321A-AFC0-6D3D4556DD6C}	2	1	VersionNT And Not REMOVE~="ALL" And Not NEWERVC2013RUNTIMEADDITIONALVERSIONDETECTED	0=1	NOVSUI=1 REBOOT=ReallySuppress ALLUSERS=1	
VS2015AMD64Minimal	[INSTALLDIR]VS2015\vcRuntimeMinimum_amd64\vc_runtimeMinimum_x64.msi	{50A2BC33-C9CD-3BF1-A8FF-53C10A0B183C}	3	1	VersionNT And Not REMOVE~="ALL" And Not NEWERVC2015RUNTIMEMINIMUMVERSIONDETECTED	0=1	NOVSUI=1 REBOOT=ReallySuppress ALLUSERS=1	
VS2015AMD64Additional	[INSTALLDIR]VS2015\vcRuntimeAdditional_amd64\vc_runtimeAdditional_x64.msi	{EF1EC6A9-17DE-3DA9-B040-686A1E8A8B04}	4	1	VersionNT And Not REMOVE~="ALL" And Not NEWERVC2015RUNTIMEADDITIONALVERSIONDETECTED	0=1	NOVSUI=1 REBOOT=ReallySuppress ALLUSERS=1	
TableauReader	[INSTALLDIR][TableauReaderMsiFile]	{AB8C4043-2B9E-42A1-A343-7129D41E1206}	5	1	VersionNT64	REMOVE~="ALL"	TRANSFORMS="[INSTALLDIR][TableauReaderTransformFile]" REMOVEINSTALLEDAPP=1 REBOOT=ReallySuppress	REBOOT=ReallySuppress

I built a whole process around this as we have to deliver all business applications through Intune (Microsoft Endpoint Manager nowadays). I write my own Wix based CustomActions in C# and make them so flexible so we can re-use them anywhere we like.
The above process works beautifully with prerequisite packages.

The problem you have now, is that I think you can't fully automate your install with the intermediate reboot, it would request elevated privileges on restart and fail if not received elevation, and usually that causes more pain than it solves... I prefer to avoid reboots, and 99% they're often not needed anyways. Just need to learn/understand why... Usually for example it puts entries in PendingFileRenameOperations registry key, which - always - triggers reboot messages.

Herman

-----Original Message-----
From: rpapo at comcast.net <rpapo at comcast.net> 
Sent: vrijdag 11 september 2020 21:09
To: 'WiX Toolset Users Mailing List' <wix-users at lists.wixtoolset.org>
Cc: 'Herman van Drie' <hvandrie at outlook.com>
Subject: RE: [wix-users] Forcing a reboot after installing an MSI from a Bundle

I am building with Rob's suggestion right now, though I really wonder about the "reboot before installfinalize" aspect of it.  Would that not allow some installer tasks to not happen before the reboot?

In any case, we lost our InstallShield setup some six months ago, and I have been reimplementing everything with the WiX Toolset v3.14.  One of the things the old installer did, and which is a requirement for most systems, is to install the Visual Studio 2008 redistributables.  I found, through trial and error, that installing the VS2008 runtimes using the merge modules was not sufficient if I only installed the base merge modules.  I also had to install the policy modules.  And when I did that, and did not reboot afterwards, then not everything was in place properly.  The merge modules scheduled a reboot, but again, nothing was going to happen until after the entire rest of the installation was successful.  But before then, two services and a tray application were to be started, and they all failed with Window SXS errors because the Side-By-Side policy rules were not yet in place.

--Rick

-----Original Message-----
From: wix-users <wix-users-bounces at lists.wixtoolset.org> On Behalf Of Herman van Drie via wix-users
Sent: Friday, September 11, 2020 2:52 PM
To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
Cc: Herman van Drie <hvandrie at outlook.com>
Subject: Re: [wix-users] Forcing a reboot after installing an MSI from a Bundle

What does your prerequisite package do that would require a reboot?
I always look why it needs that, and if it's just to start a driver/service, I would make sure it gets started using a CA before continuing.
So, instead of making the scenario unnecessarily complex, rather deal with original issue.

Mean, can help you, but you need to provide better info about your prerequisite package.

Cheers,

Herman

Get Outlook for Android<https://aka.ms/ghei36>

________________________________
From: wix-users <wix-users-bounces at lists.wixtoolset.org> on behalf of Rob Mensching via wix-users <wix-users at lists.wixtoolset.org>
Sent: Friday, September 11, 2020 8:44:17 PM
To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
Cc: Rob Mensching <rob at firegiant.com>
Subject: Re: [wix-users] Forcing a reboot after installing an MSI from a Bundle

https://docs.microsoft.com/en-us/windows/win32/msi/forcereboot-action ?

---
Short replies here. Complete answers here:
https://www.firegiant.com/services/

-----Original Message-----
From: wix-users <wix-users-bounces at lists.wixtoolset.org> On Behalf Of Rick Papo via wix-users
Sent: Friday, September 11, 2020 11:40 AM
To: 'WiX Toolset Users Mailing List' <wix-users at lists.wixtoolset.org>
Cc: rpapo at comcast.net
Subject: Re: [wix-users] Forcing a reboot after installing an MSI from a Bundle

More info: The MSI already the following in it.

    <InstallExecuteSequence>
      <ScheduleReboot After="InstallFinalize"/>
    </InstallExecuteSequence>

When you run the MSI directly, it reboots as requested.  When you run it
from within a Bundle, the reboot request is saved for later.   I need it to
happen at once, and for the installer to continue after the reboot.

-----Original Message-----
From: wix-users <wix-users-bounces at lists.wixtoolset.org> On Behalf Of Rick Papo via wix-users
Sent: Friday, September 11, 2020 1:51 PM
To: 'WiX Toolset Users Mailing List' <wix-users at lists.wixtoolset.org>
Cc: rpapo at comcast.net
Subject: [wix-users] Forcing a reboot after installing an MSI from a Bundle

I find information online about how to force a reboot after an <ExePackage> executes, but nothing about how to force an immediate reboot if an <MsiPackage> requests it.  I have a situation where a prerequisite package required for certain machines requires a reboot afterwards.  If that reboot does not happen, then other things (service starts, mainly) will blow up later in the installation.

Any ideas?

--Rick Papo


____________________________________________________________________
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/

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




More information about the wix-users mailing list