Reputation: 866
We are working on a project which we will deploy as an installation executable created with Inno Setup.
Now, we have to specify GUIDs for both the main assembly (created by VS2013) and the software (afaik used to identify the installed software). Should these two GUIDs differ or should they be the same? At first, I thought we should actually use the same GUID twice because they refer to the same product, however, one might argue that these are two different instances, the software and the assembly.
What consequences does the choice of these GUIDs have? Which approach is preferable? Will there be any conflicts if we use the same GUID twice?
Edit: I am referring to the InnoSetup AppId property, which is set to a generated GUID by default. Is this the GUID windows will use to identify the software?
Upvotes: 2
Views: 385
Reputation: 76693
The AppId
directive is used to uniquely identify your Inno Setup installation within the system. Nothing more or less. If you release another installer with the same AppId
directive value, it will be considered to be an upgrade to the previous one on systems where the old one is installed (e.g. actions performed by the new version will append to an existing uninstall log file).
The rule of thumb is, if the new installer that you are going to release is an upgrade of the old one, use the same AppId
as in your old one. Change it otherwise.
Besides, the AppId
value doesn't have to be GUID, but it's a common practice to use GUID due to its uniqueness.
Upvotes: 2