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