It is possible to build one MSP that contains all four sets of transforms, but it isn't exactly "obvious". However, you only need to build it once, and some of us on this list could probably help you do it (the only thing really needed are the four MSIs).
I've seen people use the INSERT INTO syntax using the TEMPORARY keyword and I've also seen people use MsiViewModify with the MSIMODIFY_INSERT_TEMPORARY flag from a SELECT statement. If you use the WiX-supplied libraries for creating custom actions, you will find APIs explicitly intended to create temporary rows. -----Original Message----- From: Ivo Beltchev [mailto:i...@roadrunner.com] Sent: Monday, July 26, 2010 11:58 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Uninstaller breaks the registry What is the easiest way to write from a custom action into the Registry table? I'll try to avoid doing patches because of a few reasons: 1) I will need 4 of them - there are 2 bad versions in the wild, and each has 32 and 64 bit variations 2) I will need to keep the patches around for a long time (basically any new version needs to include them) 3) Installing a patch will require a separate elevation prompt The patches will be my plan B if the registry table trick fails. Blair wrote: > Can't you "read" and serialize the key into temporary rows in the Registry > table? That wouldn't have to run after InstallInitialize. > > The "canonical" way to deal with your situation is to use a bootstrapper > that forces an update to the broken installation that changes the registry > action value, and a new MSI that doesn't allow the upgrade if an unpatched > old version is detected. You can then build a one-off MSP file that fixes > just that issue in our broken MSI that you package into your bootstrapper. > > The correct action would be "none". The key will be created if needed, and > will be removed if it (and all of its subkeys) are discovered to be empty > during uninstall. > > -----Original Message----- > From: Ivo Beltchev [mailto:i...@roadrunner.com] > Sent: Monday, July 26, 2010 9:46 PM > To: General discussion for Windows Installer XML toolset. > Subject: Re: [WiX-users] Uninstaller breaks the registry > > Please help, guys. > > I screwed up badly and need to fix this before the problem gets worse. > > My current idea is to run a custom action before upgrade that stores the > registry key in a file and then another action after the uninstall to > restore the key. I have implemented the custom actions, but I'm having a > problem scheduling the "store" action at the right time. It must be after > InstallInitialize (because it needs to run elevated), and must be before > RemoveExistingProducts (because it needs to capture the registry before the > old version is removed). But I'm getting a build warning "ICE63 - Some > action falls between InstallInitialize and RemoveExistingProducts". I > ignored the warning but then the upgrade fails with "error 2613: > RemoveExistingProducts action sequenced incorrectly". > > So is there a way to run an elevated custom action before the old version is > uninstalled? And can you suggest a better way to solve my problem? > > Thanks > Ivo > > P.S. BTW, what is the right action to use with the Run key - "create" or > "none"? > > > > i...@roadrunner.com wrote: > >> Hi >> >> In my installer I add a value to >> > HKLM\Software\Microsoft\Windows\CurrentVersion\Run. > >> By mistake I set the action to "createAndRemoveOnUninstall", so now when >> > you uninstall or upgrade my program it removes the Run key. Very bad. > >> Is there anything I can do in the next version, so when you upgrade it >> > won't destroy the Run key? > >> Thanks >> Ivo >> >> >> >> > ---------------------------------------------------------------------------- > -- > >> The Palm PDK Hot Apps Program offers developers who use the >> Plug-In Development Kit to bring their C/C++ apps to Palm for a share >> of $1 Million in cash or HP Products. Visit us here for more details: >> http://ad.doubleclick.net/clk;226879339;13503038;l? >> http://clk.atdmt.com/CRS/go/247765532/direct/01/ >> _______________________________________________ >> WiX-users mailing list >> WiX-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/wix-users >> >> >> > > ---------------------------------------------------------------------------- > -- > The Palm PDK Hot Apps Program offers developers who use the > Plug-In Development Kit to bring their C/C++ apps to Palm for a share > of $1 Million in cash or HP Products. Visit us here for more details: > http://ad.doubleclick.net/clk;226879339;13503038;l? > http://clk.atdmt.com/CRS/go/247765532/direct/01/ > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > > ---------------------------------------------------------------------------- -- > The Palm PDK Hot Apps Program offers developers who use the > Plug-In Development Kit to bring their C/C++ apps to Palm for a share > of $1 Million in cash or HP Products. Visit us here for more details: > http://ad.doubleclick.net/clk;226879339;13503038;l? > http://clk.atdmt.com/CRS/go/247765532/direct/01/ > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > ---------------------------------------------------------------------------- -- The Palm PDK Hot Apps Program offers developers who use the Plug-In Development Kit to bring their C/C++ apps to Palm for a share of $1 Million in cash or HP Products. Visit us here for more details: http://ad.doubleclick.net/clk;226879339;13503038;l? http://clk.atdmt.com/CRS/go/247765532/direct/01/ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ The Palm PDK Hot Apps Program offers developers who use the Plug-In Development Kit to bring their C/C++ apps to Palm for a share of $1 Million in cash or HP Products. Visit us here for more details: http://ad.doubleclick.net/clk;226879339;13503038;l? http://clk.atdmt.com/CRS/go/247765532/direct/01/ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users