WPF应用和ClickOnce的试用期

Nut*_*uts 6 .net wpf clickonce trial

我们正在使用ClickOnce将.NET WPF应用程序部署到beta测试人员.我们想要设置一个到期日期,之后应用程序不再打开.第一次安装的固定日期或x天都可以.试用后,我们要求用户从他们的计算机上取消应用程序.如果他们不这样做,我们希望应用程序不再打开.

具体要求:

  1. 无法通过重新安装或任何其他方式重置时间
  2. 应用程序也可以脱机工作,无需访问Internet,因此每次运行应用程序时检查Web服务器都不是最佳解决方案
  3. 对应用程序的后续更新不会影响到期日期
  4. 我们希望能够通过发送新的激活码或类似用户的任何时间延长试用期

我正在寻找是否有一些现成的解决方案(非常常见),至少有一些基本机制可以开始工作.

Pet*_*r M 3

我在一个项目中使用了Rhino Licensing(*),它似乎涵盖了您的大部分用例。请参阅此处的教程、GitHub 上的 Rhino 代码Rhino 代码直接下载(zip)

但是,如果有人决心足够大,那么您就无法阻止他们使用您的代码

Rhino 的工作原理是为您的用户生成一个许可证文件,其中编码了日期相关信息。这是经过加密签名的,应用程序代码验证一切正常。但要克服它,只需修改代码以删除判断许可证是好还是坏的调用即可。

我对修改我的代码的人的解决方案是“继续做”,因为我将使用无法复制的数字证书签署我的代码。所以我总是可以说“嘿,这是真正的代码,如果您的代码不匹配,那么有人做了什么修改它?”。低级恐惧的东西,但除了亲自站在每个用户旁边并让他们做事之外,你无能为力。

(*) 我确实从基本代码开始,但随后将其破解,以获得符合我愿望的东西。