I’ve just spent the evening struggling trying to get Virtual Server running on Vista. How hard can it be, you ask? It’s a Microsoft application to be installed on a Microsoft OS, right? Well, Vista has been very much engineered to “protect” the user, so basically some components you need aren’t installed, the default installation for these components doesn’t have the right settings you need, you need to explicitly set up permissions for the app to run, and finally, if you don’t run the client as an Administrator, you won’t be able to get it working.
So here’s how to do it:
Step 1: Install IIS. By default Vista doesn’t install Internet Information Server (IIS), even if you are running the Professional edition. Adding it is pretty simple, go to Control Panel and choose the option to “Turn Windows features On or Off”. Now, if you just turn IIS on, the default options don’t have all the features you need to run VS2005. The options I turned on are as follows (there may be a couple of extra ones, but it took some trial and error to get this right):
-> Web Management Tools
--> IIS 6 Management Compatibility
--->IIS Metabase and IIS 6 configuration compatibility (not sure if you really need this one)
-->IIS Management Console
->World Wide Web Services
-->Application Development Features
-->Common Http Features
-->Health and Diagnostics
--->Static Content Compression
--->Windows Authentication (this is the important one)
Simple enough when you know which options to pick.
Step 2: Install VS2005. Before you install IIS, VS2005 won’t install properly. Well, you can install bits of it, but without the web console you won’t be able to create new VMs (which is all I really wanted to do). Anyway, one IIS is installed with the settings above, VS2005 will install successfully.
Step 3: Add more settings to IIS. If you thought you had your installation all sown up, you’re wrong. If you try running the administration console you’ll get the following error:
Basically, the HTTP Error 404.2 is just IIS telling you that the page you are requesting cannot be served because of the ISAPI and CGI Restriction list settings on the Web server. Running executables in IIS can give rise to quite a few nasty situations, so by default IIS won’t do it. You can change this configuration by going to the IIS administration console and in the Feature View for the root level there’s an option to modify ISAPI and CGI restrictions. I tried to add in the VS2005 executable, but just couldn’t get it to work. The only thing that worked was to choose “Edit Feature Settings” and Allow unspecified CGI and ISAPI modules. Now, if you’re just messing around, this is fine, but you need to realise that you’re blowing an enormous hole in IIS’ security like this. It’s fine if you’re just on a development machine, but you shouldn’t do this on a production box. But then .. you wouldn’t be using Vista there, would you …
Step 4: We’re almost there. The only thing you need to do now is rung the Virtual Server Administration website. BUT, it won’t run correctly unless you first run your browser as an Administrator. Now you know
Anyway, I hope the short walkthrough will save you some time in the long run. It was a pretty informative experience.