3

我是 WebsiteSpark 的成员,也是 DreamSpark 的成员。这两个程序都可以下载软件并提供串行密钥以供使用。

某些软件(如 Windows Server)有一个 ISO 文件可供下载,并且网站上显示了一个序列号,我必须在安装过程中输入该序列号。

其他一些软件没有任何序列号。例如,当我下载 Visual Studio 2010 时,只有一个指向 ISO 文件的链接。在安装过程中,没有序列号这样的字段(而 Visual Studio 2008 在安装过程开始时就有这个字段)。

SQL Server 2008 和 Microsoft Expression Studio 3 也是如此。即使我下载了 Windows 7 Enterprise 的公共试用 RTM 版本,也没有输入序列号。

我不认为像 SQL Server 2008 Enterprise 这样昂贵的产品是在没有序列号和在线验证的情况下交付的,所以我认为序列号嵌入到产品本身中,无论是在安装二进制文件中还是在单独的配置文件中,所以已经在我下载的 ISO,所以我不必输入它。

所以我的问题是,它是如何在技术上完成的?每次请求此 ISO 时,是否在服务器上按需生成每个 2 GB 的 ISO 以嵌入序列?我想如果它完成了,它会对服务器性能产生巨大影响(没有缓存,没有流媒体......),那么背后使用的技术可能是什么?

我想在我打算发布的产品中实现相同的功能(通过避免要求输入序列号来简化安装),但我真的不知道如何在对服务器性能影响很小的情况下做到这一点。

4

4 回答 4

2

我假设因为 Visual Studio Express 是免费的,微软认为其他类型的软件发生的那种“偶然”盗版不会发生在 Visual Studio 上。也就是说,那些盗用旧版 Visual Studio 的人将免费获得(合法的)Visual Studio Express。

购买Visual Studio的人(即公司)无论如何都会为它买单(因为他们显然不希望被抓住时遇到法律麻烦!)。

因此,所有这些都使得实际上要求您输入许可证密钥等变得毫无意义。如果您是购买 Visual Studio 的合法企业,那么无论如何您都将购买正确数量的许可证。如果您是小商店或爱好者,那么您将下载(已经免费的)Express(或者可能是 BizSpark/DreamSpark/etc 版本)。

Windows 7 和其他对普通消费者不免费的产品仍然需要在线激活。因为盗版这些产品的一个问题。

于 2010-06-01T02:05:48.093 回答
1

服务器影响不一定很大。在所有数据都序列化给您之后。所有发送者都必须做它传输几个不同的字节,而其余的字节是相同的。

于 2010-06-01T01:58:24.753 回答
1

正如 Preet Sangha 建议的那样,我认为它是这样的(你想在产品管理中使用它,所以我会写一个直接的方法,PHP)

想象一下(在服务器上,ISO 被分成两部分,因为在这些部分的中间我们会有几个字节,它们是串行代码。

一些愚蠢的事情

header("Title: VS iso");
header('Content-type: something/iso');
header('Content-Disposition: filename="VS.iso"');

readfile('iso_part_1');
/*...write your bytes... (I don't know if echo can work in this case, maybe yes but
there is obviusly a function to do this*/
readfile('iso_part_2');

我不知道在这种情况下是否可以使用缓存,但实际上页面除了那些字节之外都是一样的......所以我认为是的。

希望这个想法会有所帮助

于 2010-06-01T02:12:19.937 回答
0

是什么让你认为有一个独特的连续剧或有任何形式的实际执行?

于 2010-06-01T01:58:14.250 回答