这个问题非常具体针对TrueLicense及其工作方式的实施。在教程here和更有帮助的here的帮助下,我已成功地使用TrueLicense在我的软件上应用许可。但是,我仍然不清楚TrueLicense的某些方面及其如何运作,我希望有人可以启发我。现在,我不明白的是,当我打电话给
时licenseManager.install()
方法(确保满足其余的先决条件)实际获得持久化的许可文件在哪里。我知道它会以某种方式持续存在,因为我第二次启动应用程序并运行
licenseManager.verify()
它返回快乐的方法。我真的很感激对此的一些见解。
答案 0 :(得分:1)
来自源代码(TrueLicense):
/**
* Installs the given license key as the current license key.
* If {@code key} is {@code null}, the current license key gets
* uninstalled (but the cached license certificate is not cleared).
*/
protected synchronized void setLicenseKey(final byte[] key) {
final Preferences prefs = getLicenseParam().getPreferences();
if (null != key)
prefs.putByteArray(PREFERENCES_KEY, key);
else
prefs.remove(PREFERENCES_KEY);
}
如果您使用标准Java首选项API(java.util.prefs.Preferences),您将在Windows上的注册表中看到这一点。在Linux和OS X上,有一个隐藏的“。”具有这些密钥的目录。
通常,我只使用userNodeForPackage方法,因为它不需要Windows上的管理员。
答案 1 :(得分:0)
打开注册工具;
在HKEY_CURRENT_USER/Software/JavaSoft/Prefs/{$the.package.of.your.license.classes}.
注意:这仅适用于Windows,是默认行为。 (原始PREFERENCES_KEY
值)