I'm delivering 3 msi packages in my Managed Bootstrapper (MBA). User is given choice to select which packages they wants to install. All goes well. When the user tries to Modify the installation from Control Panel, selects new package from dialog and original source (MBA.exe) is missing, installation failed with following log:
[553C:0A88][2016-03-30T16:00:54]w341: Prompt for source of container: WixAttachedContainer, path: D:\work\MBA.Install.Bundle\bin\Debug\MBA.exe<br/>
[553C:0A88][2016-03-30T16:00:54]e054: Failed to resolve source for file: D:\work\MBA.Install.Bundle\bin\Debug\MBA.exe, error: 0x80070002.
[553C:0A88][2016-03-30T16:00:54]e000: Error 0x80070002: Failed while prompting for source (original path 'D:\work\MBA.Install.Bundle\bin\Debug\MBA.exe').
[553C:0A88][2016-03-30T16:00:54]e311: Failed to acquire container: WixAttachedContainer to working path: C:\Users\Me\AppData\Local\Temp\{1338381A-F85F-4B6D-83EA-A0A2D1A369C1}\10A35D6D6CAC04B3DC248033B1588CBD67AD698B, error: 0x80070002.
[553C:0A88][2016-03-30T16:00:54]i000: CachePackageComplete: Pkg_Id=EMS.Server Resulted=None
[553C:0A88][2016-03-30T16:00:54]i000: CacheComplete: Status=-2147024894
[553C:3C24][2016-03-30T16:00:54]e000: Error 0x80070002: Failed while caching, aborting execution.
I've tried to capture this in ResolveSource
event handler. e.LocalSource
and e.DownloadSource
are readonly properties. There is not criteria to download missing file, all needs to be present locally.
I read about the Propmpt to get the Source of original installer here: https://blogs.msdn.microsoft.com/heaths/2007/10/25/resolvesource-requires-source/
but this is about msi installer, while in my MBA, this dialog is suppressed.
Questions:
- How can I set the
LocalSource
manually (may be by taking input via dialog from user)? - Can I set
WixAttachedContainer
to some other working path at runtime but taking input from user? - Can we set
Engine.SetLocalSource()
at runtime?
Thanks a bunch...