我应该在哪里存储许可证文件?

时间:2011-08-07 18:32:56

标签: c# licensing

  

可能重复:
  Where and how should I save license related information?

我为我的应用程序创建了一个许可文件,以便分发给用户。但我不知道应该在哪里将许可证文件存储在用户计算机中。

有什么建议吗? 感谢

2 个答案:

答案 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