Iis – How to create a local HTTP mirror for XenServer installation using IIS

iisxenserver

We are planning to perform an Rolling Pool Upgrade using the "automatic method" described in the Citrix XenServer ® 6.1.0 Installation Guide (at http://support.citrix.com/servlet/KbServlet/download/32308-102-691301/installation.pdf)

In order to use the "Automatic Mode" (to avoid installing with media at each host), we attempted to set up a local HTTP repository (or mirror) with the contents of the ISO. We chose this method because we have no NFS or FTP services in place, currently.

Because it was handy, I added a virtual directory (named "media") to an existing IIS web instance and enabled Directory Browsing (mostly for troubleshooting). Then I extracted the ISO into a sub-directory (named "xenserver-6.1") and verified the directory listing matched the contents of the ISO.

At this point I thought I was ready and I performed a test install using HTTP as the method and the address ("http://servername/media/xenserver-6/1"). When this test failed, I began researching the required contents of the directory and several other theories.

Best Answer

The root problem ended up being unspecified MIME Type entries required for IIS to serve the contents of this directory. You can read more about this problem here: http://support.microsoft.com/kb/326965

To solve the problem, I added a "*" entry using the "application/octet-stream" MIME Type in the configuration of the virtual directory.

Credit to "Don Nelson" in this thread for pointing out the solution: https://forums.citrix.com/message.jspa?messageID=1604878

Note: Several hours were spent on this solution, mostly with research and troubleshooting. I have added this question (with an answer) to hopefully make this easier on the next person.

Note: Based on the nature of XenServer, I assume this "fix" may apply to other Linux-based installs.

Related Topic