1

Good day everyone,

While working with Wix I am having a hard time solving the following error message: Prompt for source of container: WixAttachedContainer

The scenario:

  • We have a setup project with the default Wix template that acts as a bundle for several packages, called MyBundle.exe.
  • We have a managed bootstrapper application wix exe with WPF and C# that acts as a standalone installer, but this needs to be included in the bundle stated above, called MyApp.exe.
  • MyApp.exe gets installed correctly when installing MyBundle.exe.
  • When uninstalling MyBundle.exe and having a DetectCondition to uninstall MyApp.exe. MyApp.exe gets removed correctly.

The Problem:

  • There is a scenario where MyBundle.exe will get removed but has to leave MyApp.exe installed behind.
  • After removing MyBundle.exe, and trying to remove MyApp.exe I get the following error in the log: Prompt for source of container: WixAttachedContainer, path: "Path_To_EXE"

If I install MyApp.exe as a standalone and uninstall it, everything works just fine. If I install MyBundle.exe (MyApp.exe included in MyBundle.exe) and uninstall MyApp.exe before removing MyBundle.exe, this works fine as well.

I have read the logs of MyApp.exe where the error comes up and I found that MyApp.exe is trying to reach the cache folder of MyBundle.exe Prompt for source of container: WixAttachedContainer, path: C:\ProgramData\Package Cache\{Bundle_GUID}\Dependencies\MyApp.exe But at this point, that folder is no more on the system.

The configuration of the ExePackage in MyBundle.exe is as follows:

<ExePackage Id="MyApp_Package"
            Description="MyApp Package"
            DisplayName="MyApp Package"
            SourceFile="My_Path_To_Package"
            Compressed="yes"
            Permanent="yes"
            PerMachine="yes"
            Vital="yes"
            Cache="yes">
</ExePackage>

I have tried several combinations of the tags Permanent, Cache, but still to no effect.

I have tried already hooking up to the ResolveSource method inside the C# code on MyApp.exe following instructions like this: Managed Bootstrapper Application "Failed to resolve source for file" but to no success.

Can any of you point me in the correct direction?

UPDATE: Both MyBundle.exe and MyApp.exe, as well as the msi included are signed using signtool.

Thanks.

1 Answers1

0

Take a look at "insignia"

https://wixtoolset.org/documentation/manual/v3/overview/insignia.html

It's not enough to just use signtool to sign the boostrapper EXE. The bundle inside it needs to be signed also.

Christopher Painter
  • 54,556
  • 6
  • 63
  • 100