如何为每个已安装的实例生成新的guid?

时间:2012-01-03 13:02:53

标签: c# .net guid

我使用C#。是否可以使每个已安装的实例具有不同的guid?

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

提前致谢。

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

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

这会使机器具有唯一ID 确定性,这意味着您无需将其存储在任何位置,您可以在每次需要时生成它:)

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