发布通过注册购买的软件的步骤

时间:2009-09-02 13:03:34

标签: licensing registration web-hosting shareware

我即将完成开发一个我希望作为共享软件发布的Windows应用程序。它是在C#中开发的,将在.Net 3.5+机器上运行。 要使用它,用户必须在线。

我的目的是让用户试用30天,然后限制其功能,直到购买注册。

安装程序将通过msi文件提供。

有人可以就如何实现这一点给出一般步骤吗? 以下是一些更具体的问题: 由于我试图避免为了建立电子商务网站而提前投入大量资金,因此我想到了让用户以某种方式支付费用的方法,同时提供他的电子邮件,然后他接收解锁密钥。 我找到了一些像这里列出的解决方案: Registration services

我仍然不确定,如果他们是要走的路。

我主要担心的一个问题是如果给定的序列,例如阻止重复使用如果两个用户同时使用相同的序列运行程序,则应禁用此序列或采取其他措施。 另一点是,我的软件可能只是在不使用安装程序的情况下从一台计算机复制到另一台计算机,因此仅仅保护安装程序本身是不够的。

也许已经通过这个过程的人可以给我一些指示,比如所涉及的一般步骤(如1.获取域名,2。获取某种类型的webhost ......)并解决我上面提到的一些问题

我很感谢人们可以给我的任何帮助。

3 个答案:

答案 0 :(得分:1)

我没有给你一个有用的答案,但我确实有一些我想分享的观点太大而不适合评论。希望拥有更多技术专长的其他人可以填写详细信息。

  

我主要担心的一个问题是如果给定的序列,例如阻止重复使用如果两个用户同时使用相同的序列运行程序,则应禁用此序列或采取其他措施。

为确保两个人不使用相同的序列号,您的程序必须“打电话回家”。许多软件在安装时通过在安装过程中将序列号发回给您来完成此操作。如果您想要实时进行,您的应用程序必须定期连接到您的服务器并说“此序列号正在使用中。”

这不是非常用户友好。无论何时执行序列号检查,用户都必须连接到Internet,并且必须将其防火墙配置为允许它。这也意味着您必须承诺维护服务器端(域名,服务器架构)不变永远。如果您的服务器出现故障,或者您丢失了域名,则您的软件将无法运行。

当然,如果与您的服务的连接(而不是一般的互联网)对于产品的操作至关重要,那么它将变得更加容易和用户友好。

  

另一点是,我的软件可能只是在不使用安装程序的情况下从一台计算机复制到另一台计算机,因此仅保护安装程序本身是不够的。

这里有两种攻击方式。一种是在用户系统的某处隐藏一条信息。这不是非常强大。另一种是检查和编码用户的硬件配置并在某处对该数据进行编码。如果用户更改了硬件,请强制产品重新激活(这就是Windows和SecuROM的用途)。

在您实施此操作时,请记住,防止非法复制软件实际上是不可能的。作为一个(大概)小型软件开发人员,您需要平衡破解软件的难度与DRM对用户造成的负面影响。我个人会非常犹豫是否使用您已经描述的检查软件。有些人比我更宽容。有些人不那么喜欢。

答案 1 :(得分:1)

防止破解代码的能量和精力非常耗时。通过专注于分销和销售,您将获得更好的服务。

我第一次进入共享软件是1990年。当时的短语是S = R,它代表Shareware等于已注册。从那以后很多事情改变了。网络充满了静态,你必须弄清楚如何在静态之上听到。

这是我学到的一些事情

  • 不要爱上你的软件。有人会一直认为它应该以不同的方式工作。不要尝试转换为您的思维方式,而是倾听并为下一个版本构建一系列增强功能。
  • 了解如何出售或支付某人帮助您销售自己的东西
  • Digital River拥有大部分注册公司
  • 创建免费的损失领导者,将流量引导回给您
  • 找到一个未满足的利基并填补它

答案 2 :(得分:0)

防止复制:将密钥基于客户的NIC MAC。大多数用户不会遇到修改NIC MAC的麻烦。您的应用将有一个对话框来创建和发送密钥请求,包括其MAC。

开放性问题是许多应用程序被破解并发布到warez网站。通过将密钥验证代码隐藏在应用中的多个位置,可以降低这种可能性。注意尊重诚实用户,并确保您的密钥验证不会以任何方式惹恼他们。 明确表示他们购买的密钥是节点锁定的。

担心市场渗透。通过提供没有附加字符串的基本产品来获得更大的安装基础。 欢呼 - 瑞克