我有一个程序,这是一个.NET转换器,可以在其他.NET项目中使用。 我有两种许可证:
如果客户购买(1)许可证他不能在服务器上使用它,我如何保护我的程序。
答案 0 :(得分:2)
免责声明:我对.Net一无所知,除了如何拼写它,我对此并不完全确定。
在桌面上使用文件转换器并在Web服务器上使用文件转换器的人之间的区别似乎是桌面上一次只能运行一个实例;一个网页可能有多个实例,每个并发请求一次。这似乎是您可以在软件中强制执行的操作,也是您可以轻松写入许可协议的内容。
IIS是否在Windows上使用图形控制台运行?如果没有,而您的桌面版本确实如此,那么您可以检测到它吗?
但是,最终,如果有人想要充分利用您的服务器/桌面,那么他们就会这样做;例如,他们可以让Web服务器将文档发送到桌面计算机,并让桌面将其发送回服务器。因此,在某些时候,你必须放弃并忽略它或说这是合法处理的问题。
答案 1 :(得分:1)
如果是桌面软件(我不确定带标签的问题),您可以使用Environment
对象检查代码运行的操作系统,并停止在服务器技术上运行。如果他们使用XP等运行服务器,这将无济于事,但这是一个开始。