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

Reply via email to