我写了一个应用程序,想添加注册密钥/序列号(我很注重最小程度的不便-例如这篇Eric Sink文章中的#4)。我的问题是关于在应用程序注册后存储"激活"的位置。据我所知,我需要在将密钥存储在公共位置(所有用户都可以读取,但需要管理员权限保存)和存储每个用户的激活之间进行权衡(但是计算机上的每个用户都必须独立激活)。这给了我两个选择:
- 某个具有本地管理员权限的用户激活产品。激活信息存储在HKLM、程序文件夹或其他所有用户都可以读取的地方,产品对所有用户都已激活。
- 一个用户(有或没有管理员权限)激活产品。激活信息存储在某个用户为中心的位置(per-user app.config、HKCU等)。好处是用户不需要成为管理员。缺点是如果有6个用户使用计算机,则每个用户都必须激活该产品。他们可以重复使用相同的序列号,但仍然需要输入它。
再次强调,我不是在询问如何物理注册计算机 - 我不担心这个。我只会校验提供的密钥并给出许可,因为我希望尽可能少地干预。