For Product, the guid is generated anew each time. Perfect for Major
Upgrades on every build (see Bob's blogs (Joy of Setup) for why that is a
good idea for many projects).

For Component, the guid is a hash of the "full keypath". As such, if the
inputs are stable, the guids will also be stable.

For file keypaths, the inputs are the following: the directory tree starting
with a "well known" directory (such as program  files, or a user's appdata
folder, etc.) down to the component + the Name of the File element (computed
if not expressly supplied). Thus, if the filename is the same, and the
directory (including path) is the same, the guid will remain the same. If
you change the directory, or the filename, the guid will be different. It
was designed to be as compatible as possible with the component rules as we
could make it.

For registry keypaths, the key and value's name are used as inputs to the
hash.

Note that if you add (or remove) the switch enabling FIPS mode (I don't
remember what it is right now) the hash used changes, which will affect guid
generation, so you have to be consistent with that switch.

-----Original Message-----
From: MikeR [mailto:michael.ru...@gmail.com] 
Sent: Friday, January 22, 2010 10:40 AM
To: wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] WiX syntax for GUIDs for 32-bit/64-bit components


How exactly does the Guid="*" work?  I've seen and read this in the WiX SDK
before.

The <Component>, <Package>, <Patch>,  <Product> elements support
auto-generation of GUIDs every time you build your project by specifying a *
in place of the GUID.

The way it reads to me it sounds like the GUID would get randomly changed
every time I build my WiX project.  In fact, I have used this on Product
elements in some projects and that does change the GUID on every build.

If this works differently for Component elemnts and the GUID is determined
in a consistent fashion, what does it use to determine the GUID so that I
can be assured my component GUIDs won't change without my knowledge?

I've worked with Windows Installer long enough to know that following
component rules is key, else you get screwed on upgrades and patches down
the road.  So I'm quite cautious when it comes to these things.

BTW, the product I'm working on has not shipped yet.
-- 
View this message in context:
http://n2.nabble.com/WiX-syntax-for-GUIDs-for-32-bit-64-bit-components-tp444
0404p4441758.html
Sent from the wix-users mailing list archive at Nabble.com.

----------------------------------------------------------------------------
--
Throughout its 18-year history, RSA Conference consistently attracts the
world's best and brightest in the field, creating opportunities for
Conference
attendees to learn about information security's most important issues
through
interactions with peers, luminaries and emerging and established companies.
http://p.sf.net/sfu/rsaconf-dev2dev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


------------------------------------------------------------------------------
Throughout its 18-year history, RSA Conference consistently attracts the
world's best and brightest in the field, creating opportunities for Conference
attendees to learn about information security's most important issues through
interactions with peers, luminaries and emerging and established companies.
http://p.sf.net/sfu/rsaconf-dev2dev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to