1

I have a bundled application say XYZ-1.0.0.1.exe, with applications A-2.2.0.1.exe and B-1.2.0.1.exe bundled in it. So when we install XYZ, we get A and B as well listed in Add Remove Programs. But when I upgrade XYZ-1.0.0.1 with XYZ-1.0.0.2, which has A-2.2.0.1.exe and B-1.2.0.2.exe, so that A is same and already installed and B needs upgrade. I actually skipped the installation of A by making the install condition false, since the same version is already installed and installed only B while upgrading.

After successfully upgrading I am not able to uninstall the application XYZ, it says some package error, also this happens only if the source file used for upgrading is removed from machine.Actually while uninstalling package has to be referred from program cache, I think since we skipped A package cache has problem.

The error that i get is as follows "Prompt for source of container: WixAttachedContainer, path: C:\Users\ABC\Desktop\XYZ-1.0.0.2.exe Failed to resolve source for file: C:\Users\ABC\Desktop\XYZ-1.0.0.2.exe, error: 0x80070002. Error 0x80070002: Failed while prompting for source (original path 'C:\Users\ABC\Desktop\XYZ-1.0.0.2.exe'). Failed to acquire container: WixAttachedContainer to working path: C:\Users\ABC\AppData\Local\Temp{b4a1c780-306c-40f0-83ad7}, error: 0x80070002. "

This error occurs only when i copy XYZ.exe to any path say desktop and after installation(skip installing A or B since same version of A or B bundled is already installed) and delete the setup file XYZ.exe from saved path ie here Desktop. I am not able to uninstall unless i uninstall A or B which was skipped independently.

Also there is another scenario.

I have a bundled application say XYZ-1.0.0.1.exe, with applications A-2.2.0.1.exe and B-1.2.0.1.exe bundled in it. XYZ-1.0.0.2.exe, which has A-2.2.0.1.exe and B-1.2.0.2.exe. Thes in both versions of XYZ we have the same version of A. When i install XYZ-1.0.0.1.exe i skipped the installation of A-2.2.0.1.exe by setting the install condition to false. So XYZ-1.0.0.1.exe is installed and B-1.2.0.1 is also installed. Further when i upgraded to XYZ-1.0.0.2, I need to install all of the A and B. Installation was successfull and now i have XYZ-1.0.0.2, A-2.2.0.1 and B-1.2.0.2. Now if i delete the installation file of XYZ-1.0.0.2.exe from original path and try to uninstall it breaks.

Initially i thought that the package cache issue arises since A-2.2.0.1.exe was not installed along with XYZ-1.0.0.2.exe since i skipped it as it is already available. But after the second scenario got to know that skipping was not the issue. Since in second scenario A-2.2.0.1.exe was installed along with XYZ-1.0.0.2.exe.

Kiran k g
  • 946
  • 11
  • 19
  • So this is a WiX Burn bundle where you actually removed one MSI from the bundle and then reinstalled on top of the first WiX bundle? I must have misunderstood, how does this work? What was the exact error message you saw afterwards? – Stein Åsmul Jan 26 '18 at 05:27
  • Can you get bootstrapper logs from the initial install, upgrade, and uninstall? – Brian Sutherland Jan 26 '18 at 16:47
  • These are not MSI, XYZ, A and B are "exe" files. I bundled A and B in XYZ. I am not allowed to give the full log. The error that i get is as follows "Prompt for source of container: WixAttachedContainer, path: C:\Users\ABC\Desktop\XYZ-1.0.0.2.exe Failed to resolve source for file: C:\Users\ABC\Desktop\XYZ-1.0.0.2.exe, error: 0x80070002. Error 0x80070002: Failed while prompting for source (original path 'C:\Users\ABC\Desktop\XYZ-1.0.0.2.exe'). Failed to acquire container: WixAttachedContainer to working path: C:\Users\ABC\AppData\Local\Temp\{b4a1c780-306c-40f0-83ad7}\, error: 0x80070002. " – Kiran k g Jan 29 '18 at 04:58
  • This error occurs only when i copy XYZ to any path say desktop and after installation(skip installing A or B since same version of A or B bundled is already installed) and delete the setup file from saved path ie here Desktop. I am not able to uninstall unless i uninstall A or B which was skipped independently. – Kiran k g Jan 29 '18 at 05:00
  • Also i got another scenario of the issue today.I have a bundled application say XYZ-1.0.0.1.exe, with applications A-2.2.0.1.exe and B-1.2.0.1.exe bundled in it. I have check boxes in XYZ's UI to select which application can be installed. So i used InstallCondition to false to skip B-1.2.0.1.exe from installing.Later i manually installed B-1.2.0.1.exe. So ineffect both A and B corresponding to XYZ were installed. Now while uninstalling XYZ it will try to uninstall A and B.Removed all the setups (XYZ and B)used to install. When i try to uninstall XYZ-1.0.0.1.exe. I got the same error above. – Kiran k g Jan 29 '18 at 13:13

1 Answers1

1

The same issue took huge amount of my time as well. Solved it using a work around. Since the issue is "Prompt for source of container: WixAttachedContainer, path: ", You can copy the exe file XYZ-1.0.0.2 while upgrading to program data or some other path with a default name xyz.exe. At first register for ResolveSource event,then add the following code.Assume the copied exe path is c:/XYZ/xyz.exe

private void OnResolveSource(object sender, ResolveSourceEventArgs e)
{   
Application.Engine.SetLocalSource(e.PackageOrContainerId, e.PayloadId, "c:/XYZ/xyz.exe");
e.Result = Result.Retry;
}

If anybody know a better answer, please help.