This post if part of the Student Project Express, a series in which I am showing how to complete a Student project using Microsoft technologies. The table of contents for the series is available here and I will keep it updated as as publish more content. 

Cool, we have now finished installing all the updates and have our baseline OS image:


Next is to install the “Integration Components”. These are additional drivers that make our OS “aware” that it is running in a virtualised environment (more info here). In a nutshell it will provide full mouse support and a general improvement in VM speed. To install the integration components, simply click on Tools –> Install Integration Components and click on Continue on the confirmation window. This will mount a virtual CD Rom and should trigger the auto-run feature (if it doesn’t just go to Start –> Computer and double click on the newly mounted DVD drive.

This will launch the installation wizard which will configure a couple of virtual devices. Please note that even if the installation wizard only mentions XP SP3, Vista SP1 and Windows 7 as supported OSs, this will work fine for our Windows Server 2008 installation (note that this would not be supported in a real production environment where we would use Hyper-V, the virtualisation solution built into Windows Server 2008).

After a reboot you will notice immediately that the mouse now works properly (ie it is not captured by the VM).

It is now time to configure our server! Again, in a real world we would have a number of different serves playing different roles (web server, application server, database server, etc) but in our case our production box will do it all! So let’s start by assigning it the role of web and application server. From the Initial Configuration Tasks window, click on Add roles.

In the wizard that shows up select the Application Server and Web Server (IIS) roles:


This will warn you about all the components the wizard is going to install. Click on Next, confirm all the default settings until the Install button is enabled. Click on it and let the Wizard do its job!

At the end you should see a confirmation windows showing that the installation has been successful:


By clicking on close, we will go back to the Initial Configuration Tasks window which we can now close (and tick the Do not show this window at logon so that we will not see this when we start the VM again… ). This will bring up the Server Manager window. Server manager is a console from which you can manage most features of your Windows Server (more info here):


We can safely close this window (and feel free to click on the “Do not show me the console at logon” if you want to disable it at startup, you can always launch Server Manager form the start menu).

Now, just to make sure everything is fine so far, open Internet Explorer (you may be asked to go through the initial configuration as you probably installed IE8 in the VM) and go to http://localhost. You should see this page which will confirm you successfully installed and configured IIS:


Great! Now let’s move on and install SQL Server.

As we did when installing Windows Server, we need to mount the SQL Server image on our Virtual Machine, and we will do this by clicking on Tools –> Settings, then selecting DVD Drive, Open an ISO image and browsing to the SQL Server image we downloaded:

Clicking on OK will mount the image and launch the autorun feature (if it doesn’t just go to Start –> Computer and double click on the DVD drive).

The SQL Server installation screen will come up and start with the Planning window. This provides links to a lot of info about system requirements, documentation and other tools which can help you to configure and install SQL Server properly.

In our case we are going to perform a pretty basic installation so let’s go on and click on the Installation link on the left end side:


In our case we need to select “New SQL Server stand alone installation…” link as we will not be configuring a failover cluster or make an upgrade (if you are interested in learning more about failover clusters, check here or for a higher level definition of what a cluster is check here).

Once you click on the link, the first thing the installer does is to make sure our machine fulfils the installation requirements (and it should all be green at this point):


Once this is done, the installation wizard will start (a fully comprehensive guide on installing SQL Server is available here). Use the default settings to:

  1. Enter your product KEY
  2. Accept the licence
  3. Setup Support files

When we get to the Feature Selection screen, this is what we need to pick (remember that this is our production environment so we don’t want to install anything which we don’t need to run our database and application):


In Instance configuration, confirm the default settings and same for Disk Space Requirements.

Once you get to Server Configuration we will define how the various SQL Server services will start and which accounts they will use (more info here), click on “Use the same account for all SQL Server  services” and select “NT AUTHORITY\SYSTEM” from the popup window:

Please note that this is not a good security practice for a real production environment but for our purposes it is the easiest to use. Again, we are not looking at how to architect and secure a production environment but need to set one up that is easy to maintain and use!

Under Database Engine Configuration we will define the user accounts used to access our database (you can find a full explanation of user accounts and the various options here).

In our case, we need to add the user we are using at the moment to the pool of SQL Server administrators and we can do this by clicking on the Add Current User:


This should add your user to the list of SQL Server administrators.

Keep going through the Wizard until you get to the Ready to Install screen and confirm by clicking on Install. After some time we will receive the confirmation that all is well and our SQL Server is up and running!


To recap, we installed Windows Server 2008 in our Virtual machine, patched it, configured it and installed SQL Server 2008 on top of it.

It was a quite lengthy process and definitely not something we want to do again for our testing environment if we can avoid it, right? In the next post we will learn how to use this image as a “baseline” to create other environments that are exactly like this and install all the tools we need for our development!