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