如何限制安装程序包上的安装数量

时间:2011-02-23 14:48:26

标签: c# .net configuration installer windows-installer

我正在开发一个需要安装在客户端计算机上的C#Win Forms应用程序(Windows XP / Windows 7)。

我遇到的问题是,我需要将每个安装包的安装数量限制为2(或某个数字)。

有没有办法通过Install Shield或任何其他方式实现这一目标?

是否将密钥嵌入文件名中,这是一个很好的做法?

等待答案。

先谢谢,

维杰

3 个答案:

答案 0 :(得分:4)

这一定是不可能的,因为用户在运行之前可能总是复制安装包。包(如* .msi文件)只是一个字节序列,可以复制......

您可以将每台计算机的安装限制为2次,因为您将某些信息留在某处(例如在注册表中)。

另一种方法是使用许可证密钥(或嵌入到安装包中的密钥),然后使用Internet上的中央服务器激活软件。那可能是你唯一的选择。

答案 1 :(得分:2)

您需要设置一个中央服务器来管理安装并为用户分配密钥,以跟踪中央服务器上的密钥使用情况。据我所知,二进制安装本身无法跟踪它已安装的次数。

答案 2 :(得分:2)

另一个简单的解决方案是访问注册表并添加新密钥。安装时,您将检查注册表项,然后检查该数字。如果密钥不存在则创建它。

这有缺陷,因为任何知识渊博的用户都可以打开注册表(如果他们在计算机上拥有正确的权限),然后更改注册密钥的值。