2012-01-03 31 views
4

我使用C#。是否有可能使每个安装的实例具有不同的GUID?如何为每个安装的实例生成新的guid?

更具体地说,假设我有一个名为“abc”的应用程序和一个设置。每次安装在不同的计算机上时,我都希望它的组装指南能够重新生成。如果这是不可能的,我总是听新的想法。

在此先感谢。

+1

为什么你需要这个?说配置文件中的条目有什么好处? – Oded 2012-01-03 13:04:36

+0

我不希望它是可编辑的。基本上我需要一个产品ID。 – user1061894 2012-01-03 13:07:46

+1

你想用这个做什么?目前还不清楚。 – Oded 2012-01-03 13:09:38

回答

1

为什么不在启动时检查文件?然后你可以生成一个UID并将其插入到文件中。所以下次应用程序加载时,您将能够从文件中读取UID?

这可能是以每个用户为基础(您将文件放在用户目录中的位置)或每次安装(文件位于可执行文件旁边或当前用户目录之外的某处,请注意为Windows文件权限!)。

0

这听起来像你想唯一标识你的应用程序安装的机器。有很多方法可以做到这一点 - 但更改程序集GUID不是一个好的选择。

相反,您应该查看机器配置,并从中生成一个唯一标识,而不是生成随机标识。例如,您可以将机器MAC address作为起点。

这将使机器唯一的ID 确定性,这意味着你不需要储存它的任何地方,您可以生成它每次你需要它:)

的GUID规范的早期版本(版本1次)实际上使用机器MAC地址作为GUID的一部分 - 但是这导致了安全问题,并且是导致病毒的原因。现代GUID规范不使用MAC地址数据。

相关问题