It is a good advice, thanks! 

Since I can have patching options configurable via REINSTALLMODE, I see
no good reason to hard-code "PATCH" property conditioning inside wxs, as
I did for registry writing action.

However, just as I accepted thinking in terms of resources inside
components, abstracting equally files and Registry keys into 'the
component resources', realization that splitting Registry keys into
multiple components accomplishes nothing when it comes to patching is a
rather big (and unpleasant) surprise.

In fact I was hoping to use new WiX patching and split my Registry tree
into patchable and un-patched (since they would simply not be
referenced) components.
 
-----Original Message-----
From: John Nannenga [mailto:[EMAIL PROTECTED] 
Sent: Friday, August 08, 2008 9:32 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] HOWTO:avoid changing the Registry when patching

I believe REINSTALLMODE comes into play here.
     Ref:   http://msdn.microsoft.com/en-us/library/aa371182(VS.85).aspx

So, in your first post, you had a non-transitive component installing a
registry key conditioned on NOT PATCH.  Assuming your installation
wasn't slipstreaming (applying a patch during initial installation),
this condition evaluated to TRUE and your component and related registry
items were written.  During subsequent maintenance operations (patching
and repairing), non-transitive component conditions are not
re-evaluated.  During your patch application, I suspect the
REINSTALLMODE property included "u" and or "m" which according to the WI
SDK, rewrites all required registry entries (to Current User / Local
Machine).  Since the component is "installed" that has your registry
keys [in question] defined, this would cause your registry keys to be
rewritten.

As a general note, instead of doing something like this:
    <WriteRegistryValues Sequence="6000" >NOT
PATCH</WriteRegistryValues>
... you'd want to favor setting the appropriate REINSTALLMODE settings.


And in general, you want to sparingly make use of the "PATCH" property
for conditioning; as major headaches would be encountered within your
install should one want to slipstream it, someday.




-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to