2014-11-06 204 views
1

我们正在开发一个项目,我们将使用Inno Setup创建一个安装可执行文件。软件GUID应该与程序集GUID不同吗?

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

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

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

+1

AppId是InnoSetup plumbing,更新现有应用程序的安装程序应使用相同的AppId。根本没有理由使它与组装指南相匹配。没有任何理由不让它们相同。它不一定是一个guid,任何字符串都可以。 – 2014-11-06 13:55:20

回答

1

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

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

此外,AppId值不一定是GUID,但由于其唯一性,因此使用GUID是一种常见操作。

+0

感谢您的帮助!但是,这不会回答AppId是否应该与程序集GUID不同。 – 2014-11-06 13:57:29

+0

它确实:* AppId指令用于唯一标识系统内的Inno Setup安装。没有更多或更少。*。这意味着它与你的组件无关。 – TLama 2014-11-06 13:58:22

+0

好的,你是对的,非常感谢你! – 2014-11-06 13:59:01