[wix-users] Handle ISO mapping lost after reboot

Vanniekerk, Tyrel (GE Healthcare) tyrel.vanniekerk at ge.com
Mon Apr 20 10:48:25 PDT 2020


Hey guys,

I fixed this issue by using the ResolveSource event and giving the user the opportunity to map the ISO again, thereby making the file location available again.

Thanks,
Tyrel

-----Original Message-----
From: wix-users <wix-users-bounces at lists.wixtoolset.org> On Behalf Of Vanniekerk, Tyrel (GE Healthcare) via wix-users
Sent: Thursday, April 16, 2020 2:39 PM
To: Hoover, Jacob <Jacob.Hoover at greenheck.com>; WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
Cc: Vanniekerk, Tyrel (GE Healthcare) <tyrel.vanniekerk at ge.com>
Subject: EXT: Re: [wix-users] Handle ISO mapping lost after reboot

The installer uses .NET, the installer for that is in a sub folder, but that should not be a problem because it will use that before rebooting.  Then there are several prerequisites that are part of the main setup exe, so if that got cached I think everything would be fine.  I looked at the temp folder in the log file from below and that contained a MuseSetup.exe, but it was much smaller (The full setup exe is around 600 Megs, that one was only a few meg), so I assume that's an extracted version of the installer with only the bootstrapper in it and all the prerequisites etc. are already cached someplace else.

The problem is that after the reboot, WiX seems to try and load the installer from the original drive (F:\MUSE_NX_APPLICATION\MuseApplication\MuseSetup.exe), but that drive no longer exists.

If I understand the WiX code correctly, the AcquireContainerOrPayload function in apply.cpp seems to be trying to load the original source of the setup exe and says it will prompt the user.  I assume that's the ResolveSource event?

Also, I assume you are talking about the Cache command on the MsiPackage command (default is yes) or is there a cache command on the Bootstrapper itself that will prevent it from trying to look at the install media once it has loaded?

Thanks.

From: Hoover, Jacob <Jacob.Hoover at greenheck.com>
Sent: Thursday, April 16, 2020 2:07 PM
To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
Cc: Vanniekerk, Tyrel (GE Healthcare) <tyrel.vanniekerk at ge.com>
Subject: EXT: RE: Handle ISO mapping lost after reboot

If you set Cache="yes" it will cache them.  If you want detailed and professional support, you can pay FireGiant and they will give you first class/ enterprise level support.

From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Vanniekerk, Tyrel (GE Healthcare) via wix-users
Sent: Thursday, April 16, 2020 1:52 PM
To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org<mailto:wix-users at lists.wixtoolset.org>>
Cc: Vanniekerk, Tyrel (GE Healthcare) <tyrel.vanniekerk at ge.com<mailto:tyrel.vanniekerk at ge.com>>
Subject: Re: [wix-users] Handle ISO mapping lost after reboot

Not sure how to respond to this. If I understand correctly, burn can cache all the setup files, but to get the answer you need a subscription to FireGiant services?

-----Original Message-----
From: wix-users <wix-users-bounces at lists.wixtoolset.org<mailto:wix-users-bounces at lists.wixtoolset.org>> On Behalf Of Rob Mensching via wix-users
Sent: Thursday, April 16, 2020 1:45 PM
To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org<mailto:wix-users at lists.wixtoolset.org>>
Cc: Rob Mensching <rob at firegiant.com<mailto:rob at firegiant.com>>
Subject: EXT: Re: [wix-users] Handle ISO mapping lost after reboot

Burn can cache all the files first.

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

-----Original Message-----
From: wix-users <wix-users-bounces at lists.wixtoolset.org<mailto:wix-users-bounces at lists.wixtoolset.org>> On Behalf Of Vanniekerk, Tyrel (GE Healthcare) via wix-users
Sent: Thursday, April 16, 2020 11:20 AM
To: wix-users at lists.wixtoolset.org<mailto:wix-users at lists.wixtoolset.org>
Cc: Vanniekerk, Tyrel (GE Healthcare) <tyrel.vanniekerk at ge.com<mailto:tyrel.vanniekerk at ge.com>>
Subject: [wix-users] Handle ISO mapping lost after reboot

Hi guys,

Hope you are all doing well in these difficult times.

I have an installer that uses .NET Framework 4.8. We distribute the product electronically in an ISO. In most modern OS'es you double click on the ISO, it maps it to a drive and you install from there. The problem comes in when it needs to reboot after the .NET install and the ISO is no longer mapped after the reboot. So the folder where the install was prior to the reboot non longer exists.

Does the bootstrapper copy all the setup files to a temp directory on the machine or is the only answer to this to require that the ISO get mapped through the reboot?
I am considering adding a message to the ResolveSource handler to tell the user that it cannot find the expected folder, giving them a chance to mount the ISO again and continue or cancel to abort the install.

I got some code from a similar question (function is below), but that just sent the installer into an infinite loop, creating a 6 Gig log file. Oops. Also below is an extract from the log file.

Is there a way to handle this scenario?

Thanks,
Tyrel


[17B0:17B4][2020-04-07T18:02:33]i300: Apply begin
[17B0:17B4][2020-04-07T18:02:33]i000: Debug: OnApplyBegin:
[17B0:162C][2020-04-07T18:02:33]i000: Showing page Progress
[17B0:17B4][2020-04-07T18:02:33]i010: Launching elevated engine process.
[17B0:17B4][2020-04-07T18:02:33]i011: Launched elevated engine process.
[17B0:17B4][2020-04-07T18:02:33]i012: Connected to elevated engine.
[05F8:03AC][2020-04-07T18:02:33]i358: Pausing automatic updates.
[05F8:03AC][2020-04-07T18:02:33]i359: Paused automatic updates.
[05F8:03AC][2020-04-07T18:02:33]i360: Creating a system restore point.
[05F8:03AC][2020-04-07T18:02:33]i362: System restore disabled, system restore point not created.
[05F8:03AC][2020-04-07T18:02:33]i371: Updating session, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{e3cf7d18-8ca3-4711-b5f7-bd26eb12ea86}, resume: Active, restart initiated: No, disable resume: No
[17B0:0D0C][2020-04-07T18:02:33]w341: Prompt for source of container: WixAttachedContainer, path: F:\MUSE_NX_APPLICATION\MuseApplication\MuseSetup.exe
[17B0:0D0C][2020-04-07T18:02:33]e054: Failed to resolve source for file: F:\MUSE_NX_APPLICATION\MuseApplication\MuseSetup.exe, error: 0x80070002.
[17B0:0D0C][2020-04-07T18:02:33]e000: Error 0x80070002: Failed while prompting for source (original path 'F:\MUSE_NX_APPLICATION\MuseApplication\MuseSetup.exe').
[17B0:0D0C][2020-04-07T18:02:33]e311: Failed to acquire container: WixAttachedContainer to working path: C:\windows\Temp\{5FB10869-66E4-4E22-AF76-ADBA9B3E5967}\14A6CB25EA565815F0F909D28868CB6D90502075, error: 0x80070002.
[17B0:17B4][2020-04-07T18:02:33]e000: Error 0x80070002: Failed while caching, aborting execution.
[05F8:03AC][2020-04-07T18:02:33]i372: Session end, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{e3cf7d18-8ca3-4711-b5f7-bd26eb12ea86}, resume: ARP, restart: None, disable resume: No
[05F8:03AC][2020-04-07T18:02:33]i371: Updating session, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{e3cf7d18-8ca3-4711-b5f7-bd26eb12ea86}, resume: ARP, restart initiated: No, disable resume: No
[17B0:17B4][2020-04-07T18:02:33]i000: Debug: OnApplyComplete: False, None


private static void OnResolveSource(object sender, ResolveSourceEventArgs e) { var wixBundleOriginalSource = Bootstrapper.GetStringVariable("WixBundleOriginalSource");
WriteDebug($"Setting local source for {e.PackageOrContainerId} to '{wixBundleOriginalSource}' (WixBundleOriginalSource)"); Bootstrapper.Engine.SetLocalSource(e.PackageOrContainerId, e.PayloadId, wixBundleOriginalSource); WriteDebug($"Retry to resolve source for {e.PackageOrContainerId}"); e.Result = Result.Retry; }


____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/<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/
NOTE: This email was received from an external source. Please use caution when opening links or attachments in the message.

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



More information about the wix-users mailing list