WinLicense具有和Themida同级别的保护功能以及授权管理功能。软件功能强大,使用灵活,开发者可以安全地发布软件的试用版和完全版。
Q16:如何设置密钥仅在购买软件12个月后才能用于更新?之后,客户必须续订许可证,否则更新将无法与现有密钥一起使用?
A:你可以创建一个有效期为12个月的许可证(并且你可以在许可证到期时控制该事件,方法是转到Customized Dialog面板并选中“Display by SDK or not display”以获取特定的到期消息,例如“MsgID17:Trial date expired”)。也就是说,即使许可证过期,你的应用程序也将继续运行。
如你所知,许可证是否已过期,可以通过调用WLRegGetStatus来检查。当许可证过期时,你将存储当前版本号(使用WinLicense SDK中的Trial Custom Counter来存储)。当应用程序过期时,如果当前应用程序的版本大于存储在“Trial Custom Counter”中的版本,程序将拒绝运行。
为了将升级期再延长12个月,你只需向客户发送新许可证(有效期为12个月)。
Q17:正确安装reg文件,可还是提示:你的reg文件已损坏。
A:WinLicense许可证的基础是“Registration Unique Key(注册唯一密钥)”。 每个软件都有一个唯一的“License Unique Key(许可证唯一密钥)”(在软件面板中生成)。
当你在WinLicense的“License Manager ”中生成许可证时,必须确保选择的是指定软件,只有这样,许可证才会对受保护的应用程序起作用。
Q18:WinLicense怎么更改客户的许可证位置和文件名?
A:从WinLicense 2.0.6开始,你可以在运行时更改文件位置和文件名。你可以通过“Control Messages from external DLL”选项(Customized Dialog面板)来执行此操作。请按照以下步骤操作:
1)创建一个简单的DLL(此DLL将通过“Control Messages from external DLL”选项包含在受保护的应用程序中)
2)在DLL中创建一个函数(并将其导出),它将设置以下环境变量:
WLDefaultLicenseFolder
WLDefaultLicenseName
WLDefaultLicenseFolder 是你希望许可证所在的位置
WLDefaultLicenseName 是你希望的许可证名称
3)在Customized Dialog面板的“Function Handlers(函数处理程序)”中选择该函数
当你启动受保护的应用程序时,WinLicense将使用参数“-1”调用你的Function处理程序(这是你的DLL收到的第一条消息,表明保护已启动)。你只需要设置环境变量“WLDefaultLicenseFolder”和“WLDefaultLicenseName”以及许可证的路径和名称,WinLicense将在该位置搜索你的许可证。
Q19:已经为用户创建了一个提供30天注册许可证的密钥,如何再给予30天?
A:每个许可证都有不同的ID,所以你只需要为该用户再创建一个30天到期的新许可证。
当WinLicense检测到ID的新许可证时,该许可证的试用从头开始。也就是说,WinLicense分别为每个许可证存储当前天数。
本文出自:https://zhuanlan.zhihu.com/p/66464157
admin:支持一下,感谢分享!,+10,