Friday, April 27, 2007

GUIDS

The GUID data type is a text string representing a Class identifier (ID).

  • All GUIDs must be authored in uppercase.
  • The valid format for a GUID is {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX} where X is a hex digit (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F).

Package Code :

  • The package code is a GUID identifying a particular Windows Installer Package.
  • The package code associates an .msi file with an application or product and can also be used for the verification of sources.
  • The product and package codes are not interchangeable, No two nonidentical .msi files should ever have the same package code.
  • It is important to change the package code because it is the primary identifier used by the installer to search for and validate the correct package for a given installation.
  • If a package is changed without changing the package code, the installer may not use the newer package if both are still accessible to the installer.
Product Code :

  • The product code is a GUID that is the principal identification of an application or product.
  • Note that letters in product code GUIDs must be uppercase
  • If significant changes are made to a product then the product code should also be changed to reflect this.
  • It is not however a requirement that the product code be changed if the changes to the product are relatively minor.
Upgrade Code :

  • This code is used to major upgrade previous versions of the products.
  • Good to have the same upgrade code for all the versions of the same product.
  • The UpgradeCode is used in the Upgrade Table to search for related versions of the product that are already installed.
Component Code :

  • A string GUID unique to this component, version, and language.
  • If this column is null the installer does not register the component and the component cannot be removed or repaired by the installer.
  • This might be intentionally done if the component is only needed during the installation, such as a custom action that cleans up temporary files or removes an old product.
  • It may also be useful when copying data files to a user's computer that do not need to be registered.