繁体   English   中英

许可WPF,Silverlight和WP7程序集

[英]Licensing WPF, Silverlight and WP7 assemblies

我正在寻找一个许可WPF,Silverlight和WP7程序集的解决方案。 有问题的程序集是一个图表控件,它有一个API可供跨平台使用。 我正在为每个平台(WPF,SL,WP7)创建一个单独的MSI,用户可以下载和安装。 这将在GAC中注册程序集以供开发使用。

我想要做的是确保单个开发许可证仅由单个开发人员使用。 它不一定非常安全,足以阻止潜在的黑客。 理想情况下,涵盖所有三个平台的解决方案将是有益的。

我已经有了一个跨平台的混淆器,我很满意。 遗憾的是这不包括许可!

编辑:附加要求是我将允许用户从购买之日起下载最多一年的更新,但是他们购买的程序集将无限期地供他们使用,无论他们是否更新。 要重新分发程序集,因此任何许可模型都必须可在WPF / SL / WP7平台上重新分发。

您的建议/意见欢迎。

最好的祝福,

根据您的要求,许可方法“将”完成工作“并防止低级许可证滥用”我个人建议不要过于花哨; 也就是说,避免使用网络激活/维护许可。 我的建议与此处概述的方法类似。

  1. 使用上面链接中描述的.NET库之一选择对称加密算法。
  2. 使用随机生成器创建所需的加密密钥(如果您与我联系,我很乐意分享我开发的一段代码,以生成各种随机字符串/密钥以满足任何所需的密钥大小),还有.NET类可以帮助您通过生成伪随机数( RNGCryptoServiceProvider )自己做。
  3. 转换/'自定义哈希'键以提供新的“哈希加密密钥”。
  4. 使用此密钥生成初始化向量(IV)并加密许可证文件。

您现在如何部署应用程序(在许可方面)取决于您。 以下两种方法适用于上述所有三种应用程序类型,并将为您的每种产品的许可提供一定程度的一致性。 上述方法使用两个文件进行许可。 'ProductKey.myExtension'和'LicenceFile.myOtherExtension'。 第一个包含随机生成的密钥,它将以与许可证生成器应用程序相同的方式进行“散列”/转换(您需要一个单独的(小)应用程序来“剪切”/创建许可证文件)。 第二个是带有用户信息,许可证期限等的加密文件。

答:您现在可以为您的应用程序提供一个安装包,它将您的应用程序安装在相关目录(即C:\\ Pogram Files等)中而不提供许可证文件,在这种情况下,您可以使用许可证安装程序部署许可证文件。 然后可以为每个使用“Environment.SpecialFolder”的用户单独安装许可证,以确保每个用户都拥有自己的许可证(当然,这将假设'管理员'在第一个实例中为所有用户安装了应用程序,并且许可证安装包将在逐个用户的基础上运行)。 注意:我目前不熟悉WP7应用程序以及本案例中的细节。

B.第二种方法是允许个人用户安装应用程序,并在安装应用程序时安装相关的许可证文件。

在经过大量研究后,我已经使用这种方法部署了几个WinForm应用程序,它似乎运行良好。 我希望这有一些帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM