【发布时间】:2011-03-16 05:55:37
【问题描述】:
客户希望他们的产品要求用户输入特定于机器的代码,以便他们只能在一台机器上运行它......如果他们想在其他地方使用它,他们会从第一台机器获取停用代码并发送回来证明这一点。
如果应用程序可以与他们的服务器通信,这可能会更加顺畅,但事实并非如此。我想到了一个工作流程,但有点复杂:
- 客户购买许可证并通过电子邮件发送序列号
- 客户安装 App 并提示输入序列号
- 应用程序生成机器特定代码,并结合串行代码执行一些操作,将此 PC 代码提供给客户
- 应用现在请求激活码,一旦输入就会运行
- 客户将 PC 代码发送给供应商,供应商根据他们记录的序列码检查它是否有效,并使用两者生成一个激活码,然后发送给客户
这个想法是 PC-Code 和 Activation Code 都很短,更像是密码,所以它不是太可怕......但是有更好的系统吗?以及具体步骤如何实施?
我个人不太喜欢限制客户,但这不是我的决定,这已经被吵死了:)
【问题讨论】:
-
你说
if they want to use it elsewhere they get a deactivation code from the first machine and send that back to prove this。一旦从原始机器上移除并安装到其他地方,是什么阻止客户使用原始信息将其重新安装到原始机器上?从我所看到的什么都没有。这就像在可能的机器上使用一个 Windows 副本。只要那些机器不能上网,MS 就永远不会知道。我想你也一样。您提出的任何基于非互联网的解决方案都将达不到您想要的我的想法。 -
@typoknig - 在某种程度上你是对的。在破坏系统后,我们并没有试图严重阻止任何人,只是为了让您必须故意避开系统并且不能简单地安装在 100 台 PC 上。就您的具体观点而言,我们可以 a) 在注册表中保留一些内容 b) 将时间组件引入其中一个键