WinLicense具有和Themida同级别的保护功能以及授权管理功能。软件功能强大,使用灵活,开发者可以安全地发布软件的试用版和完全版。

下载WinLicense最新试用版

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分别为每个许可证存储当前天数。