The bit in Derek's article under Here's how it works explains how it works.
It computes the full target path for the single file in the component
(multiple files are not supported). It then generates the GUID as a hash of
the full target path. That means that as long as you don't change the target
path, the component GUID should be stable.

 

The GUIDs are generated at link time, by the binder. You can find this code
in SetComponentGuids() in src\wix\Binder.cs. This is called by BindDatabase
after localization variable substitution has occurred (in ResolveFields()).
Any localized variables [i.e. !(loc.Name)] will be replaced before computing
the hash and hence the GUID. You should consider carefully whether to
include any of these in the path to an installed file for a generated GUID.

 

Service packs should generally write to the same location as the RTM release
so the GUIDs should be stable and allow a patch to be built. In side-by-side
environments for new major releases you would get new GUIDs as you would
probably expect.

 

-- 

Mike Dimmick

 

  _____  

From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Laxmi Narsimha
Rao Oruganti (SQL CE)
Sent: 12 October 2007 08:00
To: wix-users@lists.sourceforge.net
Cc: SQL Server CE Setup Team
Subject: [WiX-users] Component Guids - Version Changes

 

Hey WIX Users,

 

            I am using WIXv3 3.0.2921 build.  And I am able to use automatic
component guid generation as stated by Derek in:

 
http://installing.blogspot.com/2006/09/automatically-generating-component.ht
ml

 

            I also understand that this is a new feature in WIXv3 and may
not be stable enough to use.

 

            I have the following questions regarding this:

1)      As component guids are generated for every build, if I just do a
candle+light twice on my WIX code with just same binaries I get two
different guids.  Am I right?

2)      When are these guids generated?  At compile time OR link time?
Candle time or light time?  Because, we have a fragment which is locale
independent one and needs to carry the same GUID across all locale specific
MSIs where this fragment is absorbed.  Hence, I am ok if it generates at
compile/candle time.  Can someone confirm?

3)      Can component guids change across service packs for the same binary?
That is, to generate a patch I will have a RTM MSI and then SP1 MSI which I
diff using MSP related tools to get a msp.  Since, RTM MSI and SP1 MSI have
different GUIDs for same component (but same component id) how the MSP gets
effected?

 

Thanks a lot.

 

Thanks,

Laxmi

 

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to