About: "Or am I using BOOTSTRAPPER_ACTION_MODIFY incorrectly ?" I am aware this is intended to be used to modify installed features of a MSI, but I saw no initial problem in transforming my MSI packages into "bundle features"... Should I stick to planning simply BOOTSTRAPPER_ACTION_INSTALL in my bundle "Modify" action ?
________________________________ From: Adrian Gantoi <gantoiadr...@yahoo.com> To: General discussion for Windows Installer XML toolset. <wix-users@lists.sourceforge.net> Sent: Tuesday, October 9, 2012 11:53 AM Subject: [WiX-users] Burn bundle versions and BOOTSTRAPPER_ACTION_MODIFY Hi all, I created a bundle that can install up to 5 different MSI packages (different products). The bundle allows the user to install / modify / uninstall / layout through a managed UI. "Install" allows the user to select which MSI packages should be installed, "Modify" which packages to be installed or uninstalled. "Install" is available only if no defined packages is installed, "Modify" available only if at least one package is installed (so they exclude each-other). I built 2 bundle versions, 1.1 and 1.2. I have a problem with the burn behavior in a specific case, when: - I run bundle v1.1 - install only one MSI package - I run bundle v1.2 - add a second MSI package. After this I will have 2 MSI packages installed and bundle v1.1 gets uninstalled (actually only unregistered - the MSI it installed remains installed). Bundle v1.2 adds this new package by doing a BOOTSTRAPPER_ACTION_MODIFY. The problem I have is that in this case the ....\Windows\CurrentVersion\Uninstall\{bundle key}registry entry is not fully configured. It contains only "Installed" = 1 and "Resume" = 3 values. Why this is a problem - I am trying to make a lower version bundle not execute when a newer version bundle is already registered on a computer. In this specific case, running again the v1.1 bundle will not detect the related v1.2 bundle version. I assume this happens as burn no longer finds the upgrade code entry in the registry key. I had a look in WiX sources (3.6.3005) - registration.cpp - RegistrationSessionBegin writes the upgrade code only when the action is BOOTSTRAPPER_ACTION_INSTALL or BOOTSTRAPPER_ACTION_REPAIR. Is this a known bug/problem ? Or am I using BOOTSTRAPPER_ACTION_MODIFY incorrectly ? Is there a reason why RegistrationSessionBegin does not write all registry entries also for BOOTSTRAPPER_ACTION_MODIFY ? Question is, am I safe if I rebuild WiX after adding BOOTSTRAPPER_ACTION_MODIFY in the RegistrationSessionBegin reg write condition check ? Or will I face a problem (I can't figure one out now) ? Regards, Adrian ------------------------------------------------------------------------------ Don't let slow site performance ruin your business. Deploy New Relic APM Deploy New Relic app performance management and know exactly what is happening inside your Ruby, Python, PHP, Java, and .NET app Try New Relic at no cost today and get our sweet Data Nerd shirt too! http://p.sf.net/sfu/newrelic-dev2dev _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Don't let slow site performance ruin your business. Deploy New Relic APM Deploy New Relic app performance management and know exactly what is happening inside your Ruby, Python, PHP, Java, and .NET app Try New Relic at no cost today and get our sweet Data Nerd shirt too! http://p.sf.net/sfu/newrelic-dev2dev _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users