我已经完成了使用 setup 项目部署我的 c# 应用程序。安装应用程序时,它会在“程序文件”(或任何用户选择的)文件夹中创建文件和文件夹。
问题在于此应用程序的安全性。如果有人复制安装的文件夹,然后在他的机器上运行应用程序,它运行良好。该应用程序只有在使用安装文件安装在 PC 上时才能运行。但即使将已安装的文件复制到新 PC 上,然后运行“exe”也会导致应用程序执行。
我想防止这种情况发生。对此主题的任何帮助将不胜感激。我知道有很多方法可以实现这一点,请指出一些。
我已经完成了使用 setup 项目部署我的 c# 应用程序。安装应用程序时,它会在“程序文件”(或任何用户选择的)文件夹中创建文件和文件夹。
问题在于此应用程序的安全性。如果有人复制安装的文件夹,然后在他的机器上运行应用程序,它运行良好。该应用程序只有在使用安装文件安装在 PC 上时才能运行。但即使将已安装的文件复制到新 PC 上,然后运行“exe”也会导致应用程序执行。
我想防止这种情况发生。对此主题的任何帮助将不胜感激。我知道有很多方法可以实现这一点,请指出一些。
好的。仔细听!
当您使用 setup 项目安装时,在 cutsom 操作中添加一个程序集,这将在 regedit 中创建注册条目。
并在您的项目代码中包含检查注册表的初始行,如果找到注册表,它将进一步继续操作,如果没有,它将显示一条错误消息,请安装应用程序。这肯定会奏效;。
就像所有其他应用程序一样,运行设置将在注册表中留下一个键。无需创建其他密钥。
遍历已安装的应用程序以查找您的应用程序,如果不存在,请通知用户运行设置。
您应该查看注册表信息。这是一个很好的实现,如果未安装、仅为用户安装或为所有人安装,它将返回:
http://mdb-blog.blogspot.com.ar/2010/12/c-check-if-app-is-installed-for-all.html
注意:这不是实现复制保护的方法,它只是为了验证您的设置过程是否相应地运行。
您可能希望对您的应用程序进行机器锁定,以便它仅在一台特定机器上运行。这通常通过使用机器锁定或激活的许可证来实现。
查看提供此功能的CryptoLicensing 。
免责声明:我为 CryptoLicensing 的开发商 LogicNP Software 工作。