Fahrvergnugen
Fahrvergnugen

Reputation: 11

WIX, Bootstrapper or custom actions

I have a WIX installer that needs to kick off 4 other installers. All are in Exe files, but we may need to add additional ones with MSI installers.

After a lot of research, the consensus I came to was to use a bootstrapper, and chain the child installers. But the last post I found a comment at the end said "But now you can use custom actions for that".

The problem with custom actions is that they all run before the GUI comes up, when Immediate mode is selected. But if I use "delayed", then the custom actions don't have access to most installer variable data. So Im back to the drawing board: should I use a bootstrapper and chain, or just use custom actions somehow?

Any suggestions greatly appreciated.

Upvotes: 1

Views: 2611

Answers (1)

Mitch
Mitch

Reputation: 22311

The more damning caveat of using custom actions to call other installers is that Windows Installer only supports one install at a time. So if any of your EXEs unpack to MSI's, they will fail on installation because your installer is currently running.

The "correct" way to do multiple EXE installs is with a bootstrapper.

The only place you can do custom actions calling other installers is when you have a relatively simple third-party installer which does not use Windows Installer. In those cases, you can schedule the custom action as deferred before InstallFinalize and use CustomActionData to pass any information you need.

A deferred installer runs in the elevated process, and that is typically the determining factor in whether an action will be deferred or immediate. You can schedule an Immediate action before or after installation, but it will only run with user privileges.

Upvotes: 3

Related Questions