Creating Virtual Machines for Microsoft Code Name “Geneva” - Part 1

Sometimes one doesn’t know exactly what to do to get themselves setup with a new technology where they can isolate their testing. There have been some questions around how to do this with the Geneva technologies so thought I would pull some quick guidance together here. This is not meant to replace any other guidance, but to augment it. Clearly, if your intent is to build out the full working end-to-end scenario then follow the explicit guidance in the Geneva Step-by-Step Guide in the Downloads section of the Microsoft Code Name “Geneva” Connect site. The end-to-end scenario is a full-bodied hands on lab that I highly recommend working through. But if you want to get setup more quickly, play around with the technologies and do your own thing, then this will get you rolling a bit faster.

Disclaimer: This blog is not the source for official guidance regarding Microsoft Code Name “Geneva”. Please always refer to the Geneva Team Blog for official information from the product group and post any Geneva questions on the Geneva Forum.

First, we’ll build out a VM that we can use for just testing the Geneva Framework and its code sample and then we’ll copy this base VM and extend its use for Geneva Server exploration in Part 2.

Step 1: Install Microsoft Virtual PC 2007 SP1 or Virtual Server 2005 R2 SP1 (both are free from Microsoft) [10-15 minutes]

  1. Microsoft Virtual PC 2007 SP1 – I prefer to use Virtual PC when initially building out VMs because it supports copy/paste from the host machine into the VM or if I only have one or two VMs that I’m working with. I’ll be using it in for this post.  https://www.microsoft.com/downloads/details.aspx?FamilyId=28C97D22-6EB8-4A09-A7F7-F6C7A1F000B5&displaylang=en (Be sure to choose the correct x86 or 64-bit architecture version of your host machine.)
  2. OR, Microsoft Virtual Server 2005 R2 SP1 – download Virtual Server from here, https://www.microsoft.com/downloads/details.aspx?FamilyId=BC49C7C8-4840-4E67-8DC4-1E6E218ACCE4&displaylang=en, and I like to use VMRCplus to provide a nice easy-to-use interface for managing Virtual Server and its VMs https://www.microsoft.com/downloads/details.aspx?FamilyID=80adc08c-bfc6-4c3a-b4f1-772f550ae791&DisplayLang=en.

Step 2: Get an Evaluation Windows Server 2008 VHD [Time depends on your connection speed for downloading]

  1. Download (Save) the WS08 evaluation virtual hard drive image from, https://www.microsoft.com/downloads/details.aspx?FamilyID=961db8ce-8473-47c2-92eb-b822ec5af0c9&displaylang=en, to a location of your choice.
  2. In Windows Explorer, navigate to your saved location and double-click the archive to extract the VHD.
  3. Right-click on the newly extracted VHD and Rename to “Geneva-Base”. e.g. 
    0010 - Rename VHD

Step 3: Load the .vhd into Virtual PC [3-5 minutes]

  1. Start Virtual PC, the welcome wizard should start automatically to help create a Settings (.vmc) file to correspond to the Geneva-Base.vhd file.
  2. Click Next.
  3. On the Options panel, choose, “Use default settings to create a virtual machine” and click Next.
  4. On the Virtual Machine Name and Location panel, Browse… to the location of your VHD file. Although you won’t see the .vhd file, when you’re in that folder location, type “Geneva-Base” for the File name and click Save and then click Next.
  5. Then click Finish.
  6. The Settings for Geneva-Base will open. (If it didn’t, click on the Geneva-Base file in the VPC Console and click the Settings button.)
  7. Click on Memory, and change RAM to 768.
  8. Click on Hard Disk 1 and select “Virtual hard disk file” and Browse… to your VHD location. Select “Geneva-Base” and click Open.
  9. Click Networking and confirm that your host machine’s NIC is represented in Adapter 1.
  10. Click OK to close the Settings. The VPC Console should look like this:
    0020 - VPC loaded up

Step 4: Initial VM preparation and Install of VPC Additions [5-10 minutes]

  1. Click the Start button to fire up the VM and choose “Start Windows Normally” if prompted.
  2. When you see the CTRL+ALT+DELETE prompt, click once inside the console. When using VPC or Virtual Server you cannot use Ctrl+Alt+Delete because this sends these key strokes to your host machine. In the VM environment you need to either use the menu to send the appropriate key strokes or use Right-Alt+Delete.
  3. After using Right-Alt+Delete you see the Administrator login, use whatever password you choose – just be sure to remember it.
  4. Now let’s rename the machine. Click the Start menu, right-click the Computer icon and choose Properties.
  5. By Computer Name: click on the “Change Settings” link.
  6. On the Computer Name tab, click the Change… button. 
    0030 - Rename machine
  7. On the “Computer Name/Domain Change” prompt, for the Computer Name, type genevaweb and click OK. Choose “Restart LATER”. Close the System Properties page.
  8. Ok, now we need to add “Virtual Machine Additions” to make VPC much more friendly. You’ve no doubt already realized that the VPC Console has “captured” your mouse inside the VM window. To get VPC to “release” it, hold down the Right-Alt key and drag the mouse out. Let’s cleanup this behavior.
  9. Go to the VPC Action menu and drop it down. Click “Install or Update Virtual Machine Additions.”
  10. In the Autoplay dialog, click Run setup.exe. Once it’s installed, click Yes to restart.
  11. Remember: Right-Alt+Delete to login. Note: If upon restart you get a reminder to reset your password, Right-Alt+Delete and choose change password. You can actually change it to the same password if you want to.

Step 5: Run Windows Update and Backup .vhd and .vmc files [no time estimate for this since it’s dependent on how long Windows Update takes and the copy of the files to a backup location.]

  1. First, click Start and select Windows Update. Turn on Windows update and Install updates. (This may take awhile but make sure all updates get applied before proceeding.)
  2. Here I like to backup the .vhd and .vmc files since there’s been a time investment to get to this point. From the VPC Console Action menu, choose Close… and select “Shut down Windows Server 2008” from the dropdown list. Click OK.
  3. Exit VPC.
  4. Now, backup/copy the Geneva-Base.vhd and .vmc to a file location of choice.

Step 6: Install Visual Web Developer Express Edition [12-18 minutes]

  1. Open VPC again and Start the Geneva-Base VM.
  2. Login, Open Internet Explorer and navigate to https://www.microsoft.com/express/download/#webInstall to install Visual Web Developer Express Edition. (Click “Add” for any prompts from IE.)
  3. In the Visual Web Developer Express product section, 
    0040 - Visual Web Express
    choose Download, then Run and Run when prompted.
  4. On the install wizard, choose all the defaults.
  5. Restart when prompted.
  6. Once restarted, open Visual Web Developer 2008 Express Edition and Register it.

Step 7: Install Geneva Beta Framework [3-6 minutes]

  1. Open IE and navigate to, https://go.microsoft.com/fwlink/?LinkId=122266.
  2. Under “Geneva Framework,” click the “x86 setup package” link.
  3. Choose, Run.
  4. When the install wizard opens, browse the EULA – note this is for testing only.
  5. Accept the EULA and click Install.
  6. Click Finish when prompted, the Geneva Framework Beta readme.htm will open.

Step 8: Install IIS7 [5-10 minutes]

  1. Click Start, and then Server Manager (if it’s not already open).
  2. Right-click Roles node, click Add Roles.
  3. On the Add Roles Wizard, click Next.
  4. On the Select Server Roles page, select the Web Server (IIS) check box, and click Add Required Features.
  5. Click Next twice.
  6. On the Select Role Services page, select ASP.NET, click Add Required Role Services.
  7. On the same Select Role Services page, select the Windows Authentication and IIS 6 Metabase Compatibility check boxes.
  8. Click Next to go to the Confirm Installation Options page.
  9. Click Install to begin installing IIS with the options that appear on the page.
  10. When the set up process is completed close the wizard

Step 9: Download Windows CardSpace Geneva Beta [2-3 minutes]

  1. Open IE and navigate to, https://go.microsoft.com/fwlink/?LinkId=122266.
  2. Under “Windows CardSpace Geneva,” click the “x86 setup package” link.
  3. Choose, Save. Create a New folder “CardSpace Geneva” on your C drive and save the file to this location. That way it’s on your VM for use at a later time in the Samples.

Step 10: Run the SamplesPreReqSetup.bat and backup [3-5 minutes]

  1. Now we need to get IIS configured with SSL for localhost. Open the SamplesReadme.htm file in the Geneva Framework Samples directory. Be sure to read the entire document, but for our purposes focus on the section, “Steps for Working with the Samples,”  item #1.
  2. Open a Command Prompt, cd to the Geneva Framework’s Samples\Utilities directory and run SamplesPreReqSetup. It’s a several step process so hit Enter when prompted to continue.
  3. Now close down the VM and backup your .vhd and .vmc files again. The VM at this point is a fully functioning web server that you can possibly repurpose for other testing scenarios. Also, we’ll use the backed up Geneva-Base .vhd and .vmc to build the Geneva Server VM.

 Step 11: Run the Geneva Framework Samples

  1. Once you’re backed up, fire up the Geneva-Base VM again, open the readme.htm in the Microsoft Geneva Framework directory, read about the framework and start working your way through the Geneva Framework samples.

In Part 2 we’ll make a copy of the VM you backed up in Step 9.3 and turn it into a Geneva Server.

Please post any questions relating to the Geneva Framework or Geneva Server on the Geneva Forum. If you have questions about this VM setup, please feel free to post them here.

Enjoy running your Framework Samples!