Dynamics crm 关于许可CRM4(ISV)附加组件的技术方法的建议

Dynamics crm 关于许可CRM4(ISV)附加组件的技术方法的建议,dynamics-crm,dynamics-crm-4,Dynamics Crm,Dynamics Crm 4,与我合作的团队创建了一个CRM4附加组件,它封装了“标准”CRM定制(例如修改现有实体、添加我们自己的定制实体)、报告、插件以及我们自己的网页(在iFrame中)和web服务。都是很典型的东西 我正在编写所有必要的安装代码,以简化/自动化安装过程,以便任何人都可以下载和试用我们的ISV附加组件,但被要求考虑适当的方式限制功能,以鼓励人们购买许可证 我对.net应用程序(尤其是CRM4附加组件)的“许可”概念/最佳实践/陷阱不太熟悉,因此我想问您是否有任何建议。我们正在寻找一些相当简单的东西,并且

与我合作的团队创建了一个CRM4附加组件,它封装了“标准”CRM定制(例如修改现有实体、添加我们自己的定制实体)、报告、插件以及我们自己的网页(在iFrame中)和web服务。都是很典型的东西

我正在编写所有必要的安装代码,以简化/自动化安装过程,以便任何人都可以下载和试用我们的ISV附加组件,但被要求考虑适当的方式限制功能,以鼓励人们购买许可证

我对.net应用程序(尤其是CRM4附加组件)的“许可”概念/最佳实践/陷阱不太熟悉,因此我想问您是否有任何建议。我们正在寻找一些相当简单的东西,并且应该是合理的“可破解的”,因为我们认为必须输入许可证代码通常是一种PITA

  • CRM API能为ISV开发者提供什么吗?(我看到可以对许可证实体进行交互,但我假设这是针对CRM许可证本身的)
  • 是否有适合使用或实现的现有代码示例/项目/框架
  • 我很想在安装附加组件时创建一个注册表项,如果一个月后没有输入正确的许可证项,则会限制其功能。这是最好的方法吗?你有没有看到其他插件做得不同/更好
  • 在限制功能方面,我考虑抛出InvalidPlugineExecutionException。当然,一定有更“优雅”的方式来做到这一点
感谢所有的想法和建议

问候,, 彼得。

我的想法:

  • 是的,您可以查询许可证实体以获得许可用户的数量,这是我看到的常见许可证类型。许多第三方供应商按照许可用户的数量收费,而不管这些用户中有多少实际使用定制。我尽量远离这些,因为对于企业部署来说,许可证成本通常是令人望而却步的
  • 据我所知没有
  • 我喜欢这个选项,并且已经看到至少一个第三方工具使用这个方法。它们允许您在.config文件中声明许可证密钥,如果运行时在那里找不到它,它会检查已知的注册表项。该工具附带一个应用程序,可在注册表中为您注册许可证密钥。我会仔细测试并确保您的自定义代码可以在最低权限的环境中读取注册表
  • 抛出异常肯定不太合适,但它确实证明了您的观点。:)除此之外,直接跳过代码是另一种可能性,尽管这可能会涉及数据。如果必须抛出异常,我建议尝试在实体的表单加载上运行一些javascript,警告用户其许可证已过期,保存将导致错误。一些更邪恶的计划可能包括Thread.Sleep,有点像旧的共享软件nagscreens.:)
另一个想法-您是否可以设置企业IFD部署,以便让客户能够远程访问您的演示,包括他们自己的演示组织?这取决于您的受众,但您的客户可能没有足够的时间(时间、开发环境)下载和安装您的试用版。他们可能只是想看到它的实际应用——一旦你获得销售资格,也许你会提供免费的远程安装,而不是花那么多时间在一个完美的安装包上?同样,这取决于您的受众和您希望销售的许可数量。从技术上讲,您可以使用SDK动态调配组织,并使在线试用过程完全自动化。当然,这是一项巨大的投资,但允许您保持对演示/IP的绝对控制

希望有帮助