PRODUCTCODE description differs from Microsofts definition

Got a problem you cannot solve? Try here.
jaspers
Posts: 8
Joined: Tue Jan 28, 2014 9:26 am

PRODUCTCODE description differs from Microsofts definition

Postby jaspers » Tue Jan 28, 2014 9:51 am

According to Microsoft

"The ProductCode property is a unique identifier for the particular product release" [1]

and

"The product code is the unique GUID of identifying an application or product release; In other words, different versions and languages of Product must have different product codes" [2]

But your description says

"The product code can be the same across different versions of the same product"

and

"Different versions of the same product can share the same product code"

Can you please explain the discrepancy in the two descriptions? They seem to be in conflict.

Jasper



[1] : http://msdn.microsoft.com/en-us/library ... 85%29.aspx
[2] : http://blogs.msdn.com/b/pusu/archive/20 ... g-msi.aspx

FrancescoT
Site Admin
Posts: 5361
Joined: Sun Aug 22, 2010 4:28 am

Re: PRODUCTCODE description differs from Microsofts definiti

Postby FrancescoT » Tue Jan 28, 2014 12:12 pm

Dear User,

if you continue to read the MSI "ProductCode property" documentation;

A product upgrade that updates a product into an entirely new product must also change the product code. The 32-bit and 64-bit versions of an application's package must be assigned different product codes.

The ProductCode property identifies a unique product family.
Supposing you have "Product A 1.0" and "Product B 1.0" each product must have its unique ProductCode (in order to be recognized as different products by the MSI engine).

In case of product updates, es. "Product A 1.2", the ProductCode must be the same across different versions of the same product (otherwise it will be not recognized as a product family upgrade).

Hope this clarify your doubt.

Regards
Francesco Toscano
InstallAware Software

White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE

jaspers
Posts: 8
Joined: Tue Jan 28, 2014 9:26 am

Re: PRODUCTCODE description differs from Microsofts definiti

Postby jaspers » Tue Jan 28, 2014 1:45 pm

Hello Francesco,

Thank you for the response.

Why am I asking this? Well for a while now we have kept the productcode and upgradecode the same and simply set the RevisionCode (seems to be the MSI PackageCode) to auto update on build. We also call TransformInstance if NewInstance is true. Here is the issue. We install a version say 10.0.2 then install a version 10.0.3 in parallel. If we then uninstall 10.0.2 we are toast. After this if we want to install 10.0.2 we simply get a box that says 'Error'. Running in debug mode tells us that a product with that productcode is already installed. This is why I am looking to change product codes between releases.

What would be the problem with using the same upgradecode and different productcodes? That seems to be what Microsoft recommends also.

On ProductCode: "This ID must vary for different versions and language"[2] and "If significant changes are made to a product then the product code should also be changed to reflect this."[3] and as you have stated "A product upgrade that updates a product into an entirely new product must also change the product code."[2] That last statement does not negate the others, it adds another condition for changing the product code.

On UpgradeCode: You say "otherwise it will be not recognized as a product family upgrade." I was under the impression that would that not be handled by the UpgradeCode. Microsoft says "The UpgradeCode property is a GUID representing a related set of products"[3] and "The upgrade code is the unique GUID of identifying a family of a product. That is, the same products with different version... These products have different ProductCodes, but they are linked together by using SAME UpgradeCode" [1]



[1] http://blogs.msdn.com/b/pusu/archive/20 ... g-msi.aspx
[2] http://msdn.microsoft.com/en-us/library ... 85%29.aspx
[3] http://msdn.microsoft.com/en-us/library ... 85%29.aspx

FrancescoT
Site Admin
Posts: 5361
Joined: Sun Aug 22, 2010 4:28 am

Re: PRODUCTCODE description differs from Microsofts definiti

Postby FrancescoT » Wed Jan 29, 2014 11:47 am

Dear User,

The UpgradeCode is only used with Patches and not with product Upgrades.

You must keep the same ProductCode & UpgradeCode across different versions of the same product, for a correct product update and/or Patch.

Regards
Francesco Toscano
InstallAware Software

White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE


Return to “Technical Support”

Who is online

Users browsing this forum: No registered users and 95 guests