我已经在kivy中创建了一个桌面应用程序,并且能够使用pyinstaller生成单个可执行文件(.app)。现在我想在10天左右的试用期内将它交给客户。 问题是如何使试用版在安装10天后停止工作,即使用户在试用期结束后再次安装并重新安装也不行。 在试用版中提供部分功能不是一种选择。
Evnironment 使用Kivy的Mac OS和Python 2.7
答案 0 :(得分:3)
您需要一个Web服务器和一个数据库才能使它正常工作。
使用它们,人们仍然可以只创建多封电子邮件,从而潜在地获得无限数量的试用版。
然后,您可以尝试在该人的计算机中的某个地方(一个没人会寻找的地方)添加文件,然后将旧许可证粘贴在那里,以便该应用程序再次启动(即使是从新安装的应用程序)时,从那里阅读许可证,并在不要求许可证的情况下联系网络服务器。使用此方法,当您的应用程序使用过期的试用许可证与服务器联系时,您的服务器可以通过“许可证过期”信号进行答复,以让您的应用程序知道它必须立即申请非试用许可证,并且服务器仅应从现在开始接受来自该应用程序的非试用许可证。如果您的客户意识到您的应用程序正在从本地文件中获取此信息,则整个方法会中断,因为他们只能在找到本地文件后将其删除。
想到的另一种想法是将笔记本电脑的MAC地址(或您可以想到的任何其他唯一标识符)与一个许可证而不是电子邮件地址(以许可证创建方式)相关联时间(客户端要求进行试用时需要将其MAC地址发送给您)或安装时(您的应用可以检查正在运行的笔记本电脑的MAC地址)。
答案 1 :(得分:2)
1)您可以在应用程序时间戳记停止运行后对其进行硬编码,并检查每次运行是否此时间戳记大于time.time()。如果您有一个或几个客户,并且能够为每个客户制作具有不同日期的试用版,则此方法将起作用。
2)使用Platform / sdk获得https://cryptolens.io/之类的许可证或其他
3)编写您自己的解决方案,也许How to generate and validate a software license key?会为您提供帮助