我是 WebsiteSpark 的成员,也是 DreamSpark 的成员。这两个程序都可以下载软件并提供序列号以供使用。
某些软件(如 Windows Server)具有可供下载的 ISO 文件和网站上显示的序列号,我必须在安装过程中输入该序列号。
其他一些软件没有序列号。例如,当我下载 Visual Studio 2010 时,只有一个指向 ISO 文件的链接。在安装过程中,没有序列号这样的字段(而 Visual Studio 2008 在安装过程开始时就有这个字段)。
SQL Server 2008 和 Microsoft Expression Studio 3 也有同样的问题。即使我下载了 Windows Seven Enterprise 的公共(public)试用 RTM 版本,也没有要输入的序列号。
我不认为像 SQL Server 2008 Enterprise 这样昂贵的产品在没有序列号和在线验证的情况下交付,所以我认为序列号嵌入到产品本身中,要么在安装二进制文件中,要么在单独的配置文件中,所以已经在我下载的 ISO 中,所以我不必输入它。
所以我的问题是,它在技术上是如何完成的?每次请求此 ISO 时,是否在服务器上按需生成每个 2 GB 的 ISO 以嵌入序列?我想如果完成了,它会对服务器性能产生巨大影响(没有缓存,没有流......),那么背后可能使用的技术是什么?
我想在我打算发布的产品中实现相同的功能(通过避免要求输入序列号来简化安装),但我真的不知道如何在对服务器性能影响很小的情况下做到这一点。
最佳答案
我假设因为 Visual Studio Express 是免费的,所以 Microsoft 认为 Visual Studio 不会发生在其他软件中发生的那种“随意”盗版。也就是说,原本会盗用旧版 Visual Studio 的人转而免费获取(合法的)Visual Studio Express。
那些购买 Visual Studio 的人(即公司)无论如何都会为此付费(因为他们显然不希望万一被抓到法律上的麻烦!)。
因此,所有这些共同导致实际要求您输入许可证 key 等变得毫无意义。如果您是购买 Visual Studio 的合法企业,那么无论如何您都将购买正确数量的许可证。如果您是一家小商店或业余爱好者,那么您将下载(已经免费)Express(或者可能是 BizSpark/DreamSpark/等版本)。
Windows 7 和其他对普通消费者不免费的产品仍然需要在线激活。因为盗版是这些产品的一个问题。
关于validation - Microsoft 产品如 Visual Studio 2010 不需要输入序列号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2946885/