22

我正在开发一个共享软件桌面应用程序。我到了需要实施试用/激活代码的地步。你如何处理这样的事情?我有自己的想法,但我想看看stackoverflow社区是怎么想的。

我正在使用 C++/Qt 进行开发。预期平台是 Windows/Mac/Linux。

谢谢你的建议!

4

5 回答 5

23

什么可以预防和什么不可以预防:

请记住,人们总会想办法绕过您的试用期。因此,您想让该人不得不绕过您的试用期而烦恼,但如果无法绕过您的试用期也没关系。

如果有一个简单的机制,大多数人会认为尝试绕过试用期的工作量太大。例如,人们总是可以使用 filemon/regmon 来查看安装软件时哪些文件和注册表项发生了变化。

话虽如此,一个简单的机制是最好的,因为它浪费的时间更少。

这里有一些想法:

  • 您可以在注册表中的某处为运行的每个独特日期进行滴答计数。如果滴答计数 > 30,则向他们显示过期消息。
  • 您可以存储安装日期,但请检查他们是否有比您的试用期更多的可用天数,然后告诉他们它们已过期。这将防止人们在安装到未来日期之前更改日期。
  • 我建议您进行卸载,删除您的“运行天数”计数。这是因为人们可能会在几个月后重新评估您的产品并最终购买。但如果他们无法评估它,他们就不会购买。没有认真的用户有时间卸载/重新安装只是为了额外使用您的产品。

延长试验:

对我们来说,当客户请求延期试用时,我们会向他们发送一封自动电子邮件,其中包含程序“TrialExtend.exe”和试用延期代码。该程序使用试用扩展代码与我们的服务器联系以对其进行验证。如果代码通过验证,则其试用期将被重置。

于 2008-10-13T15:38:48.227 回答
3

无论您做什么,请密切关注系统日期。书中最古老的技巧是在未来的某个时间安装应用程序,然后在应用程序在首次运行时存储愚蠢的日期后返回实际日期。也许将密钥与在线存储库同步?

于 2008-10-13T15:35:54.630 回答
2

布赖恩的回答很好,但我想补充一点。

Linux 用户通常不习惯为软件付费,他们往往更精通技术,甚至可能在开源问题上“信奉宗教”。

出于这个原因,我真的建议保持简单 - 这实际上只是一个小障碍,让购买软件至少像窃取它一样容易。

我建议它在试用期后唠叨或禁用某些功能(例如保存),而不是完全死掉。只是一个观察,但基于功能的限制在 linux 世界中似乎更常见。

顺便说一句,使 linux 版本成为“一流”版本 - 体面的安装程序等会有所帮助。

如果您相对较小,或者您的程序相对小众,那么任何人都会费心破解它的可能性很小 - 所以一旦时间到了,只需专注于制作一个简单的好产品。

于 2008-12-13T23:59:06.743 回答
0

如果您 [相当] 可能有网络连接,您可以让安装程序在您的网站上注册,然后在每次启动时检查它。

如果这不可行,则将值写入文件系统上的全局可修改点(注册表项、/etc conf 文件中的项等)可能是可行的。

于 2008-10-13T15:37:27.310 回答
0

也许真正的问题是限时试用。我工作的公司做了大量的 Active Directory 工作,我们通常将我们的软件限制在少数用户的试用版中。我觉得以某种方式限制功能有时会更好,更容易实现,并且当用户只是更改计算机上的日期时不会失败。
有一种平衡行为,你不能太严格地限制功能,否则用户在试用中什么也得不到。同时,过于宽松的限制也不会激励购买。

于 2008-12-14T01:15:14.700 回答