Question

I am member of WebsiteSpark and was member of DreamSpark. Both programs enable to download software and provide serial keys to use.

Some software like Windows Server has an ISO file to download and a serial number displayed on the website which I must enter during installation.

Some other software does not have any serial key. For example, when I downloaded Visual Studio 2010, there was just a link to an ISO file. During installation, there was no such a field as serial number (whereas Visual Studio 2008 had this field at the beginning of installation process).

There is the same thing with SQL Server 2008 and Microsoft Expression Studio 3. Even when I've downloaded the public trial RTM version of Windows Seven Enterprise, there were no serial number to enter.

I don't think that such expensive products as SQL Server 2008 Enterprise are delivered without serials and online validation, so I suppose that the serial is embedded into the product itself, either in installation binaries or in a separate config file, so is already in the ISO I download so I do not have to enter it.

So my question is, how it is done technically? Is each 2 GBs ISO generated on-demand on the server to embed a serial each time this ISO is requested? I suppose that if it is done, it has a huge impact on servers performance (no caching, no streaming...), so what may be the techniques used behind?

I want to implement the same feature in a product I intend to ship (to simplify installation by avoiding to ask to enter serial number), but I really don't see how to do it with low impact on server performance.

Was it helpful?

Solution

The server impact is not necessarily large. After all the data is serialised to you. All the sender has to do it transfer a few bytes that are different while the remaining are the same.

OTHER TIPS

I assume because Visual Studio Express is free that Microsoft considers the kind of "casual" pirating that happens with other kinds of software is not going to be happen for Visual Studio. That is, the people who would otherwise pirate older versions of Visual Studio are instead going to pick up the (legitimate) Visual Studio Express for free.

The sort of people who purchase Visual Studio (i.e. corporations) are going to pay for it anyway (because they obviously don't want the legal hassle in case they get caught!).

So all of this conspires to make it rather pointless to actually require you to enter license keys and so on. If you're a legitimate business buying Visual Studio, then you're going to purchase the correct number of licenses anyway. If you're a small shop or hobbyist, then you're going to download the (already free) Express (or maybe BizSpark/DreamSpark/etc versions).

Windows 7 and other products that are not free for general consumers still require online activation. Because pirating is an issue for those products.

As Preet Sangha suggested, I think it's something like this (you want to use it inside a product management so I'll write a direct approach, PHP)

imagine that (on the server, the ISO is split in 2 parts, because in the middle of these parts we will have a couple of bytes which are serial code.

some stupid thing

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');

I don't know if caching can be used in this case but actually the page is all the same except for those bytes... So I think yes.

Hope the idea will be helpful

What makes you think that there is a unique serial or that there is any kind of actual enforcement done?

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top