[wix-users] Handle ISO mapping lost after reboot
Rob Mensching
rob at firegiant.com
Thu Apr 16 11:44:37 PDT 2020
Burn can cache all the files first.
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 Vanniekerk, Tyrel (GE Healthcare) via wix-users
Sent: Thursday, April 16, 2020 11:20 AM
To: wix-users at lists.wixtoolset.org
Cc: Vanniekerk, Tyrel (GE Healthcare) <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/
More information about the wix-users
mailing list