Question

Should the upgrade code and product code must be the same for installers of all platforms ?

Should we use different GUID's for the components of different platforms ? I'm bundling the msi's in burn bootstrapper.

Was it helpful?

Solution

ProductCodes should always be different, whatever the platform, that's the best general rule. There's no downside. You build a new product for shipment, give it a new ProductCode, whatever the architecture.

UpgradeCodes generally denote a product line, a way to say that this version upgrades that older product and this is an ongoing product line. It's better to make them more unique if you are in doubt. You probably don't want to have multiple products installed on the same system with the same upgrade code because a later product that does an upgrade will probably have an issue identifying the correct one to upgrade.

The Component id issues are not about the platform, they are about sharing. The same resource should have the same id. If you have a 32-bit component that's in multiple products, it needs the same id. If that id ends up in a 32-bit package on a 64-bit system and in a 64-bit package that is installed on the same 64-bit system to the same location then they need the same id, and the architecture of the package doesn't matter. If you can guarantee the mutual exclusion of everything in the packages you build then you can use whatever component ids you like in the context of the question, but there's usually some sharing of common components that results in requiring the same ids for those shared components.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top