ISWIX, LLC View Christopher Painter's profile on LinkedIn profile for Christopher Painter at Stack Overflow, Q&A for professional and enthusiast programmers

September 10, 2008

Generating GUIDs Easily

Bob Arnson (MSFT) recently posted a blog where he provides sound advise about when to use a new UpgradeCode. He also posts a link to a `reputable online retailer` that provides GUIDs.

Now I'm sure Bob was being funny when he says `reputable online retailer`. However, should you really have to go through a multiple step process using an external tool just to generate a GUID? Shouldn't your MSI Editing Tool provide this functionality?

Well, if you are using an Industrial Strength Household Name MSI Editing Tool, it does. Just about every designer in InstallShield will either auto generate a GUID ( like when creating a new component ) or provide a one click button for generating and applying a different one (like when defining multiple product configurations that may or may not share an UpgradeCode as Bob mentions).

Also if you need to do any GUID manipulation at build time there is an automation interface that includes a GUID generator and classes that represents all aspects of the project that you can apply the GUID to.

This may seem like a trivial disagreement, but I work on installs full time and every single feature like this helps me to improve my productivity. Besides, we all know what happens when you don't provide this level of automation and the developer doesn't seek out a `reputable online retailer` of GUIDs.

WixBinaries.2.0.lib {DEADBEEF-DEAD-BEEF-DEAD-BEEFDEAD3010}
WixBinaries.2.0.doc {DEADBEEF-DEAD-BEEF-DEAD-BEEFDEAD3009}
WixBinaries.3.0.doc {DEADBEEF-DEAD-BEEF-DEAD-BEEFDEAD3009}
Templates.UISample {DEADBEEF-DEAD-BEEF-DEAD-BEEFDEAD0014}

3 comments:

Colby Ringeisen said...

Hey, don't know guidgen/uuidgen. They work just as good if you have VS instead of a "Industrial Strength Household Name MSI Editing Tool". ;)

Dan said...

I believe even Orca, Super Orca, Insted, can also generate GUIDs.

Aaron Shurts said...

Maybe I should can this up and sell it:
dim oTL, szGuid
set oTL = CreateObject("Scriptlet.TypeLib")
szGuid = oTL.Guid

Enjoy!