我使用C#。有没有可能让每个安装的实例都有不同的guid?
更具体地说,假设我有一个名为"abc"的应用程序和它的安装程序。每次将它安装在不同的计算机上时,我都希望重新生成它的程序集guid。如果不可能,我总是听取新的想法。
提前谢谢。
为什么不在启动时检查文件?然后,您可以生成一个UID并将其插入到文件中。所以下次加载应用程序时,您可以从文件中读取UID吗?
这可以是基于每个用户(将文件放在他们的用户目录中),也可以是基于每次安装(文件位于可执行文件旁边或当前用户目录之外的某个位置,请注意Windows文件权限!)。
听起来您想要唯一标识安装应用程序的机器。有很多方法可以做到这一点,但更改程序集GUID不是一个好的选择。
相反,您应该查看机器配置,并从中生成一个唯一的Id,而不是生成一个随机Id。例如,您可以将机器的MAC地址作为起点。
这将使机器具有唯一的id确定性,这意味着你不需要将其存储在任何地方,你可以在每次需要时生成它:)
GUID规范的早期版本(版本1)实际上使用机器MAC地址作为GUID的一部分,但这导致了安全问题,也是Melissa病毒的原因。现代GUID规范不使用MAC地址数据。