c# - 如何让我的程序不能在其他电脑上运行?

标签 c# installation

我有一个作业,它有(除其他外)两个要求:

  • 制作安装程序
  • 如果它安装在一台计算机上,任何人试图在另一台计算机上运行相同的文件都会失败。

我正在使用 VS9 (2008) express,我想我可以完成安装程序部分,但我不确定如何完成“安全”部分。我不需要任何难以破解的安全措施,只需要一个可以阻止大多数用户将文件复制到另一台计算机的愚蠢条件。 (比如检查 MAC 地址)。

有什么想法吗?

编辑:
我想检查 MAC 地址,但我希望程序在安装过程中完成。这意味着我安装后无法将程序移动到另一台机器上。它也不必是非常聪明或困难的条件,只是最低限度。我只是不知道如何在安装中进行。

编辑:
很遗憾我没有完整的 VS,然后我就可以轻松完成。

最佳答案

如果您正在寻找某种方法将第一台计算机标记为“授权”计算机,那么您需要一些外部服务,您可以请求启动权限。

第一个请求许可的人将被允许,其余的将被阻止。

您还需要想出一些方法来识别每次安装都不同的应用程序的特定实例。

如果您的应用程序需要为机器授权,那么您将需要计算它每次可以使用的机器的一些指纹(例如跨安装)。

[编辑] 当您担心安装程序的副本也被分发时,这种方法很有用。您确实指定可以在多台机器上安装,所以在这种情况下 MasterMind的方法是优越的。它会工作,并且不需要第三方服务器

[编辑 2] 如果您正在寻找有关如何构建自定义安装程序的信息,请尝试 here

关于c# - 如何让我的程序不能在其他电脑上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1069964/

相关文章:

c# - 使用 LINQ to XML 进行功能构造内的条件

installation - 如何使用 Homebrew 安装整个目录的文件?

c# - JIT 编译后如何(以及在​​哪里)加载 native 代码?

c# - AWS 中跨 lambda 的连接池

MySql Connector/NET 6.9.5 安装失败

python - 在 Windows 7 x64 中的 PyPy3.5 v5.10 上使用 ensurepip 进行 pip 安装

java - eclipse 集成开发环境 : install set of plugins

python - 在 Windows 上为 python 安装开箱即用的 opencv

c# - 通用类/方法的单元测试方法

c# - 在层次结构中更改 "type"