软件GUID是否与程序集GUID不同?

我们正在开发一个项目,我们将使用Inno Setup创build安装可执行文件。

现在,我们必须为主要组件(由VS2013创build)和软件(用于识别已安装软件的afaik)指定GUID。 这两个GUID应该不同还是应该一样? 起初,我认为我们应该两次使用相同的GUID,因为它们指的是同一个产品,但是,有人可能会认为这是两个不同的实例,即软件和程序集。

这些GUID的select有什么后果? 哪种方法更可取? 如果我们使用相同的GUID两次会有冲突吗?

编辑:我指的InnoSetup AppId属性,它默认设置为生成的GUID。 这是GUID窗口将用于识别软件?

AppId指令用于唯一标识系统内的Inno Setup安装。 没有更多或更少。 如果您释放具有相同AppId指令值的另一个安装程序,它将被认为是在旧系统安装的系统(例如,由新版本执行的操作将附加到现有的卸载日志文件)上升级到上一个安装程序。

经验法则是,如果要发布的新安装程序是旧版本的升级版本,请使用与旧版本相同的AppId 。 否则改变它。

此外, AppId值不一定是GUID,但是由于其唯一性,使用GUID是一种常见的做法。