wixwindows-store

How to create MSI Installers with requirements / dependencies for the Windows App Store


When submitting applications to the Windows App Store, you can do so using EXE or MSI, or MSIX installers.

When using EXE's one has to provide exit codes and all exit codes are not easily achievable, such as disk full, user cancelled, network failure, etc.

However when using MSI's there is no need to provide the exit codes.

One more problem I am facing is when using MSI's I have to also package the applications dependencies. In my case this is a Visual C++ Redistributable.

I am using the Wix4 toolset to create the MSI installer; And to package the install with its required dependency I have created a Wix Bundle.

But this generates an EXE, which defeats my purpose of creating the MSI in the first place (requiring exit codes again).

How do I solve this problem, having an MSI installer that also ships its dependencies.


Solution

  • Bundles exist to package prerequisites into a single package because MSIs cannot do so themselves. VCRedist is actually a (WiX v3) Bundle that contains a couple of MSIs in it.

    Fortunately, by default, WiX-based Bundles (i.e. built on the Burn engine) return the same exit codes and MSI packages. Bundles don't return all those codes because many do not apply, but the important ones like 0, 1602, 1603, 1641 are all the same.