可能重复:
Where and how should I save license related information?
我为我的应用程序创建了一个许可文件,以便分发给用户。但我不知道应该在哪里将许可证文件存储在用户计算机中。
有什么建议吗? 感谢
答案 0 :(得分:3)
如果许可是每个用户,请将其存储在%APPDATA%
目录中。如果是每台计算机许可证,请将其存储在%PROGRAMDATA%
目录或程序的安装目录中。
%APPDATA%
是一个shell变量(您可以通过在命令窗口中键入set
来查看它们),该变量指向应存储当前用户的应用程序数据的目录。它通常类似于C:\Users\MyUser\AppData\Roaming
。指定打开文件的路径时,可以直接使用%APPDATA%
变量,例如%APPDATA%\MyCompany\LicenseFile.dat
。正如@cdhowie在他的评论中指出的那样,使用.NET Environment.GetFolderPath()
函数比使用环境变量更好。
%PROGRAMDATA%
的工作方式相同,但映射到系统上所有用户通用的目录。
答案 1 :(得分:1)
以加密的注册表项形式存储许可证可能是另一种选择。 对于每台计算机许可证,将密钥存储在HKLM \ Software中 对于每用户许可证,将密钥存储在HKCU \ Software
中