我目前正在评估几种针对.NET的许可应用程序,我发现这种应用程序更易于使用,而且功能更强的是CryptoLicensing。
我下载了CryptoLicensing v2011,配置了License Activation WebService,运行了install.aspx步骤,我得到了一个包含5个表的sql server数据库。
然后我去了应用程序并试图生成许可证,我收到一条错误消息“无法将值NULL插入列'ID'”。我检查了SQL事件探查器,实际上这个列(它是主键列)没有出现在insert语句中。 我注意到License表有5列:ID,LicenseCode,MachineCode,LicSetting_ID,LicSetting_LicenseCode。所以我更改了表定义:将ID设置为可空并将其从PK中删除,并将LicSetting_ID设置为PK。
然后我就能够生成许可证并进行验证。现在我想知道每个人是否都有这个问题,或者我做错了什么......
我在考虑购买CryptoLicensing,但我不想“破解”数据库以使其正常工作。
祝你好运, 曼努埃尔费利西奥。
答案 0 :(得分:2)
我联系了他们的支持,他们迅速有效地回复了我(不到10分钟)足以让我在这里说明。
问题是我在管理应用程序中创建许可表时没有指定表前缀。许可证服务创建一个名为License的表,应用程序创建一个名为prefix +'License'的表,这会导致错误。
无论如何,我不清楚指定表前缀是不明智的。除此之外,它现在正在运作。