2013-04-04 63 views
0

我在这里有一个问题:我已经创建了一个应用程序,像今年这样一个电脑/数码版本我的学校的年鉴。我只想给那些已经购买这本书的人提供该程序。该程序在java中编程,我可以做钥匙代码/序列号/ cd键,但我不知道如何做到这一点。我不希望那些没有购买年鉴的人访问该计划,也不希望已购买年鉴的人员将密码/代码发给他们的朋友,以便他们可以使用它。尝试部署程序

我们可以建立一个网上交易的情况下想要的年鉴,并没有买它能够以更便宜的价格获得该程序的人,但我们希望它免费为那些买了实际的书。这是一个挑战,但我们可以在程序和在线上执行数据库,但我不确定。

事情我已经想过尝试:

  • 加密文件
  • CD的
  • 用户名/密码
  • '自毁' 文件光盘
  • 和其他几个人

但我们所有的想法并不为我们所希望的工作。

回答

0

想到的(虽然不是很大从一个可用性点),最简单的方法:

  • 的应用需要上网才能安装运行。
  • 每次安装应用程序时,它都会为当前计算机生成一个唯一的ID并将其发送到服务器。
  • 每次运行应用程序时,它都会将服务器上的ID与当前计算机的ID进行比较。
  • 如果两者匹配,则运行;否则会通知用户该软件已安装在另一台PC上。
  • 每次用户安装软件时,都会覆盖服务器上的标识(您将监控安装而不是卸载)。
  • 这样,安装的最后一个人可以运行,但踢别人。

人们仍然可以作弊,但它需要他们反复重新安装软件,每次他们想运行它,这是烦人的。烦恼杀死海盗:)

加分点:

  • 每次软件检测的ID不匹配,提供购买许可证的“低价格$ X的”。如果产品足够好并且价格足够低,人们就会付钱。