[wix-devs] Reinstalling Bundle packages

Sean Hall r.sean.hall at gmail.com
Tue Jan 4 13:01:22 PST 2022


If you look at my PR for related bundles as BundlePackages in Burn, at
https://github.com/wixtoolset/wix4/blob/eacdad8217c1cd17bd6eeadd736499e59e51e0ee/src/burn/engine/bundlepackageengine.cpp#L51
there's a special fPseudoBundle flag to allow installing even if the bundle
is already detected as present (this was in exeengine.cpp in v3). I want to
get rid of the fPseudoBundle flag so that related bundles will work the
same as BundlePackages when that's added to the language.

Also, for 3421 I'm trying to figure out how to let the BA control the
behavior for upgrade bundles when it is rolling back. For example, maybe
the BA wants to opt out of rerunning the upgrade bundles or it wants to do
a repair instead of install. Again, we need to expose the ability for a BA
to request to install the bundle even though it's already present.

I'm considering adding BOOTSTRAPPER_REQUEST_STATE_REINSTALL, but I don't
like that for the same reasons I didn't like
BOOTSTRAPPER_REQUEST_STATE_MEND:
* There won't be an overall action BOOTSTRAPPER_ACTION_REINSTALL
* BOOTSTRAPPER_REQUEST_STATE_REINSTALL can't be requested for MSI/MSP/MSU
packages

For 3421, I would add a new requested state for the restore operation. I
guess another option would be a simple boolean flag like fDisableRestore,
and the BA wouldn't get to ask for repair.

Does anyone have any other ideas?


More information about the wix-devs mailing list