[wix-users] Possible Bug: Burn bootstrapper is not registered on clean install if it is already cached

Edwin Castro egcastr at gmail.com
Wed Oct 11 21:11:09 PDT 2017


This concerns src/burn/engine/plan.cpp lines 690 - 703 in
https://github.com/wixtoolset/wix3.git

If pPlan->action == BOOTSTRAPPER_ACTION_INSTALL *and*
FileExistsAfterRestart(pRegistration->sczCacheExecutablePath, NULL)) ==
TRUE,
then the bundle is not registered and does not show up in add remove
programs.

I have seen scenarios where my product has been "uninstalled" but the
cached bootstrapper was not removed so when a "clean" install occurs again,
the bootstrapper is not registered because the executable was already
cached!

I'd assume the fix for this would be something like:

else if (BOOTSTRAPPER_ACTION_REPAIR == pPlan->action) // just repair, make
sure the registration is "fixed up".
{
    pPlan->dwRegistrationOperations |=
BURN_REGISTRATION_ACTION_OPERATIONS_WRITE_REGISTRATION;
}
else if (BOOTSTRAPPER_ACTION_INSTALL == pPlan->action) // make sure the
registration is "fixed up" on install too.
{
    pPlan->dwRegistrationOperations |=
BURN_REGISTRATION_ACTION_OPERATIONS_WRITE_REGISTRATION;
}

Thoughts? Should I create a bug for this? Is there a legitimate reason why
the bundle should not registered on install if the bundle was already
cached?

--
Edwin G. Castro


More information about the wix-users mailing list