First I will explain what it is about.
What is ELMS? ELMS (e-academy License Management System) is a software distribution website that each program administrator can customize according to the needs of his or her department. MSDN Academic Alliance subscriber departments around the world can use ELMS for free, so using it will not incur additional costs.
Why do we need ELMS? ELMS is a web-based management system that simplifies software distribution to students in accordance with the MSDN AA licensing policy.
Link
The basic idea of ​​this system is that the user downloads a special application that downloads the installer of licensed software and unzips it. The idea is not so good, but at first glance tolerable. But, as is often the case with Microsoft products, everything went wrong.
')
I encountered the following system flaws:
1. The file swings in one stream and rather slowly.
2. When the connection is broken, the client must be restarted manually, and this happens quite often.
3. Not always the download is resumed from the percentage at which it was terminated.
4. Often, incomprehensible damage to the file occurs during the download, due to which the file, having completely recovered, does not pass the CRC check and is safely removed by the Delivery Client.
After what happened in the fourth paragraph happened to me for the third time, I sent a few rays of hatred towards the small company and decided that I had to change something.
Googling suggested that this behavior could be caused by a file corruption on the server or by the curvature of the Delivery Client. Since we can’t do anything with the first problem, we’ll try to eliminate the second one.
Experiments were conducted in Windows 7 and Windows XP SP3.
First we need to know the url of the file being downloaded. I used the
Wireshark program for this. I have not used it before, so the algorithm may be suboptimal.
1. Order the product you need on the MSDN AA website and download the Delivery Client.
2. Close all unnecessary programs that use the network.
3. Run the Delivery Client, select the download folder.
4. Open Wireshark. In the “Capture” section of the start page, select the main network interface.
5. In the Delivery Client, click the button. We are waiting for the download to start (“1%” appears).
6. Close the Delivery Client.
7. In Wireshark, click Capture - Stop.
8. Sort the list of packets by the Protocol column.
9. We are looking for HTTP-packages, in the Info column which have GET and then the url ending in ".sdc". There may be several such requests.
10. Selecting the package, expand the Hypertext Transfer Protocol section in the lower part of the window. We need the first line (GET) and the HOST header. We copy them (with the right mouse button - Copy - Value), delete the service characters and put the HOST value before the GET value.
We got the link. If you insert it into the browser, the file should start downloading with the extension sdc. If the file is large, it fights for a few, they will end in ".01.sdc", ".02.sdc", etc. It seems that the files are divided by 2 GB.
Now we are downloading files with our favorite download manager, which supports downloading in several streams (I have a speed increase of 10 times).
If the file was one, simply put it in the folder you specified as the Delivery Client (by default, C: \ Temp).
If there were several files, you must first glue them with the copy command in the console:
copy /b file.01.sdc+file.02.sdc result.sdc
Then put the result in the Delivery Client download folder and give it the name of the first file: file.01.sdc (the file with that name should have been created by the Delivery Client itself when it was first run).
After launching the Delivery Client, it will find our file and immediately begin to unpack it. Our goal is achieved.