I understand how the GUIDs are generated.   My question goes deeper and 
hits at the annoyances of needing components and GUIDs in general but I'll 
leave that for a blog post some day.

----------------------------------------

From: "Peter Shirtcliffe" <[email protected]>

Sent: Wednesday, September 28, 2011 6:52 AM

To: "General discussion for Windows Installer XML toolset." 
<[email protected]>

Subject: Re: [WiX-users] GUID vs. * for components (Was: RE: 
WiX-usersDigest, Vol 64, Issue 49)


This may clear up your confusion.


The * guid is generated based on the path in the installer at build time, 
not

based on the path with the substitutions made at install time.


For example:

A component's path at build time is 
[ProgramFilesFolder]\Company\INSTALLDIR

A component's path at install time might resolve to c:\Program

Files\Initech\Widget1


The * guid is generated based on the first version, the unresolved path.

This is still valid under the component rules because they allow the same

component to be installed into multiple locations by different installers 
as

long as the unresolved paths are the same.


-----Original Message-----

From: Christopher Painter [mailto:[email protected]] 

Sent: 28 September 2011 12:22

To: Rob Mensching; General discussion for Windows Installer XML toolset.

Subject: Re: [WiX-users] GUID vs. * for components (Was: RE: 
WiX-usersDigest,

Vol 64, Issue 49)


You have to implement ComponentGuidGenerationSeed to use "*" in a merge 

module and you wouldn't if you used a fragment instead. I wonder if WiX 

could be changed to just use the Module Id for it's GUID by default?


My point still stands though as an MSI can have it's INSTALLDIR changed so 


the whole thoery around we know the absolute path so therefore we can 

randomize GUIDs confuses me a little. You never fully know the path 

until after the install is done. 


In my IsWiX tool I have hashing for the Id's but they are then modularized 


to full ensure uniqueness. I've been creating GUIDs but while this all 

works perfectly it's not the prettiest most expressive XML in the world. 

I'd love to be able to reduce the clutter of all the guids and hashes.


----------------------------------------


From: "Rob Mensching" <[email protected]>


Sent: Tuesday, September 27, 2011 11:30 PM


To: [email protected], "General discussion for Windows Installer XML 

toolset." <[email protected]>


Subject: Re: [WiX-users] GUID vs. * for components (Was: RE: WiX-users 

Digest, Vol 64, Issue 49)


AFAIK, merge modules aren't treated differently from MSIs wrt * GUID.


On Tue, Sep 27, 2011 at 6:22 AM, Christopher Painter <[email protected]> 

wrote:


Rob,


Has WiX implemented "*" for Merge Modules yet? I understand Merge


Modules are retargetable but then again any MSI is really retargetable by


changing the value of TARGETDIR/INSTALLDIR/INSTALLLOCATION et al. That of


course has always struck me as odd about the whole MSI Component ID


paradigm as the absolute path to the keypath is never truly absolute.


Chris


----------------------------------------


From: "Rob Mensching" <[email protected]>


Sent: Tuesday, September 27, 2011 8:01 AM


To: "General discussion for Windows Installer XML toolset."


<[email protected]>


Subject: Re: [WiX-users] GUID vs. * for components (Was: RE: WiX-users


Digest, Vol 64, Issue 49)


Well, my opinion is my opinion. People are welcome to disagree with my


opinion <smile/>


For example, a few people around here (including some clients) disagree


with


me whether MajorUpgrade/@AllowSameVersionUpgrades is a "good thing" or


not.


It's only when something *really* doesn't work and people want to disagree


that the world has issues. <smile/>


Anyway, to answer your question.


The advantage of "*" GUID over explicit GUID is that you don't have to


provide a GUID. IN WiX v3.6 we've gone as far as to make the


Component/@Guidoptional so you can leave the attribute off completely


and get the "*" GUID


behavior.


Previously (before WiX v3.5, I think) we did not provide the option of "*"


GUID because we did not have a mechanism to maintain a stable GUID across


builds. It was a really gnarly problem that took us a while to finally


come


up with a (IMHO) really nice solution.


Basically, the GUID is generated from a hash of the *target path* of the


KeyPath of the Component. If the target path changes, the GUID changes.


This


aligns perfectly with the Component Rules (


http://robmensching.com/blog/posts/2003/10/18/Component-Rules-101) as long


as you don't change the other resources in there. That's where most of the


restrictions come from. To really understand I suggest reading that link


above.


If you have already shipped then you need to keep the same GUIDs unless


you


change the Component in such a way that a new GUID is required (see how


"*"


might be nicer, you don't have to think about that). If you do an early


MajorUpgrade ("afterInstallValidate" or "afterInstallInitialize") then you


can change all your GUIDs as long as nothing is shared with other products


(again, see how "*" is much nicer, you don't have to think about that


either).


The Component Rules are a pain. But they are the foundation of the Windows


Installer so understanding them has a lot of value. <smile/>


--


virtually, Rob Mensching - http://RobMensching.com LLC


On Mon, Sep 26, 2011 at 10:12 PM, Thomas Due <[email protected]> wrote:


> And I would think your opinion carries at least SOME weight on the issue


> *grin*


>


> A follow up question though, I have a hard time understanding the


> difference of the two.


> All the documentation is a bit on thin side, or I do simply not


understand


> the issue.


>


> So, to refrase, what are the advantages to using * opposed to GUIDS?


> And vice-versa.


>


> In my current situation I have two installers sharing a wixlib with


several


> components in it.


> Now, one of the installers have been in production use for some time,


but


> we are using a major upgrade model everytime.


> So, is there any danger in changing all the component GUIDs to *?


>


> Med venlig hilsen / Best regards


> Thomas Due


> Software udvikler


> Scanvaegt Nordic A/S


>


> -----Original Message-----


> From: Rob Mensching [mailto:[email protected]]


> Sent: 26. september 2011 15:44


> To: General discussion for Windows Installer XML toolset.


> Subject: Re: [WiX-users] WiX-users Digest, Vol 64, Issue 49


>


> Either is actually an option (because the file paths will be changing,


> presumably). I would use the "*" GUID, but I try to use "*" GUID for


> everything.


>


> On Mon, Sep 26, 2011 at 6:21 AM, Thomas Due <[email protected]> wrote:


>


> > Hello,


> >


> > I am currently "struggling" with two installer packages. One is done,


and


> > the other is coming along nicely.


> > However, the applications they each install shares a set of assemblies


> > which I am thinking of putting in a common wix library.


> > Each installer will install the assemblies into separate folders, so


each


> > assembly has the potential to be installed once by each installer.


> > It would be ideal to install these to a common location, but that


would


> > require som restructuring and redesign of our application, so that is


not


> an


> > option at the moment.


> >


> > Now my question is: If a set of assemblies is shared by two different


> > installers, what would be the best way to set the GUID on the


components


> > containing these assemblies?


> > Should I set a fixed GUID, or use an *?


> >


> >


> >


> >


> > Med venlig hilsen / Best regards


> > Thomas Due


> > Software udvikler


> > Scanvaegt Nordic A/S


> > ________________________________________


> > Fra: [email protected] [


> > [email protected]]


> > Sendt: 26. september 2011 13:40


> > Til: [email protected]


> > Emne: WiX-users Digest, Vol 64, Issue 49


> >


> > Send WiX-users mailing list submissions to


> > [email protected]


> >


> > To subscribe or unsubscribe via the World Wide Web, visit


> > https://lists.sourceforge.net/lists/listinfo/wix-users


> > or, via email, send a message with subject or body 'help' to


> > [email protected]


> >


> > You can reach the person managing the list at


> > [email protected]


> >


> > When replying, please edit your Subject line so it is more specific


> > than "Re: Contents of WiX-users digest..."


> >


> >


> >


>


----------------------------------------------------------------------------



--


> > All the data continuously generated in your IT infrastructure contains


a


> > definitive record of customers, application performance, security


> > threats, fraudulent activity and more. Splunk takes this data and


makes


> > sense of it. Business sense. IT sense. Common sense.


> > http://p.sf.net/sfu/splunk-d2dcopy1


> > _______________________________________________


> > WiX-users mailing list


> > [email protected]


> > https://lists.sourceforge.net/lists/listinfo/wix-users


> >


> >


>


>


> --


> virtually, Rob Mensching - http://RobMensching.com LLC


>


>


>


----------------------------------------------------------------------------



--


> All the data continuously generated in your IT infrastructure contains a


> definitive record of customers, application performance, security


> threats, fraudulent activity and more. Splunk takes this data and makes


> sense of it. Business sense. IT sense. Common sense.


> http://p.sf.net/sfu/splunk-d2dcopy1


> _______________________________________________


> WiX-users mailing list


> [email protected]


> https://lists.sourceforge.net/lists/listinfo/wix-users


>


>


----------------------------------------------------------------------------



--


All the data continuously generated in your IT infrastructure contains a


definitive record of customers, application performance, security


threats, fraudulent activity and more. Splunk takes this data and makes


sense of it. Business sense. IT sense. Common sense.


http://p.sf.net/sfu/splunk-d2dcopy1


_______________________________________________


WiX-users mailing list


[email protected]


https://lists.sourceforge.net/lists/listinfo/wix-users


----------------------------------------------------------------------------


--


All the data continuously generated in your IT infrastructure contains a


definitive record of customers, application performance, security


threats, fraudulent activity and more. Splunk takes this data and makes


sense of it. Business sense. IT sense. Common sense.


http://p.sf.net/sfu/splunk-d2dcopy1


_______________________________________________


WiX-users mailing list


[email protected]


https://lists.sourceforge.net/lists/listinfo/wix-users


-- 


virtually, Rob Mensching - http://RobMensching.com LLC


----------------------------------------------------------------------------
-

-

All the data continuously generated in your IT infrastructure contains a

definitive record of customers, application performance, security

threats, fraudulent activity and more. Splunk takes this data and makes

sense of it. Business sense. IT sense. Common sense.

http://p.sf.net/sfu/splunk-d2dcopy1

_______________________________________________

WiX-users mailing list

[email protected]

https://lists.sourceforge.net/lists/listinfo/wix-users

SDL PLC confidential, all rights reserved.

If you are not the intended recipient of this mail SDL requests and 
requires that you delete it without acting upon or copying any of its 
contents, and we further request that you advise us.

SDL PLC is a public limited company registered in England and Wales. 
Registered number: 02675207.

Registered address: Globe House, Clivemont Road, Maidenhead, Berkshire SL6 
7DY, UK.


----------------------------------------------------------------------------
--

All the data continuously generated in your IT infrastructure contains a

definitive record of customers, application performance, security

threats, fraudulent activity and more. Splunk takes this data and makes

sense of it. Business sense. IT sense. Common sense.

http://p.sf.net/sfu/splunk-d2dcopy1

_______________________________________________

WiX-users mailing list

[email protected]

https://lists.sourceforge.net/lists/listinfo/wix-users


------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2dcopy1
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to