January 8, 2009 oslo

Dealing with the Visual Studio 2010 expiration in the WCF and WF 4.0, Oslo”, & Dublin” PDC08 Virtual Machine

If you’ve been using the WCF and WF 4.0, Oslo”, & Dublin” PDC08 Virtual Machine provided on the PDC08 Goods Disk, you’ve probably noticed that Visual Studio 2010 within the VPC expired at the end of December and you are presented the following message The evaluation period for Visual Studio Trial Edition has ended”.  Below are details on how you can export your data and get the image working again.

The work around involves creating a new differencing disk and new virtual machine configuration file and then disabling the clock synchronization between the host and guest OS.  In the end you will have a fresh virtual machine that believes it is 10/10/2008 and the clock will only increment when the machine is running.

NOTE: This workaround assumes you have not altered the PDC08-CSD.vhd” file that was marked Read Only on the PDC08 Goods Disk.  If this file has been altered, the work around may not work.

1.     Export the data you want to keep from the VPC image.  This can be done using the Shared Folders” feature of VPC 2007 to copy the data to your host and then copied into the new image at the end of this process.  See the Share a folder between a virtual machine and the host operating system” topic in VPC 2007 Help for more details.

2.     Shut down the Virtual Machine and discard your changes. At the end you will end up with a fresh, new image but you need to discard any saved changes so that you can alter the VMC file later in this process.

3.     Create a new differencing disk.

a.     On the Goods Disk” search for the PDC08-CSD-WorkDisk.vhd file and rename it to anything you want.

b.     Launch VPC 2007, click File, select Virtual Disk Wizard and click Next.

c.      Select Create a new virtual disk” and click Next.

d.     Select A virtual hard disk” and click Next.

e.     Store the new disk in the same folder where you found the PDC08-CSD-WorkDisk.vhd file and give it the same name.  Click Next to continue.

f.       Select Differencing” and click Next.

g.      Locate the PDC08-CSD.vhd” file in the same folder where you found the other vhd file, select it and click Open and Next.

h.     Click Finish and then Close

4.     Create a new Virtual Machine.

a.     Launch VPC 2007, click New and click Next.

b.     Select Create a virtual machine” and click Next.

c.      Click browse and navigate to the same folder where you created the new PDC08-CSD-WorkDisk.vhd file in step 3 above.

d.     Create a new vmc file with any name you like and click Save, then click Next.

e.     Select Windows Server 2008 in the Operating System dropdown and click Next.

f.       Select Adjusting the RAM”, click Next, set the amount of RAM you want to allocate (we allocated 1536 in the original virtual machine) and click Next.

g.      Select An existing virtual hard disk” and click Next.

h.     Click browse and select the new the new PDC08-CSD-WorkDisk.vhd file in step 3 above and click Open.

i.       Check the Enable undo disks box and click Next.

j.       Click Finish.


5.     Disable the host OS synchronization of the VPC.  This is a change to the PDC08-CSD.VMC file that disables the clock synchronization between the VPC and the host OS.  This means that time in the VPC moves forward only when the VPC is being used. As a result, you will have over 2 months of runtime (not wall time) for a fresh VPC.

a.     Find the PDC08-CSD.VMC file in the same folder where you found the PDC08-CSD-WorkDisk.vhd in step 2.

b.     Open the file in Notepad and made the change highlighted in RED below:

            <allow type=“boolean”>true</allow>
                <enabled type=“boolean”>false</enabled>

Bunch of other stuff that I am skipping over to save space…

c.      Save and close the VMC file.

6.     Launch the Virtual Machine in VPC and repeat step 1 to create the Shared Folder for copying your data back into your new image.

Your virtual machine will now show a date of 10/10/2008 and will only increment when the virtual machine is running.

One important note:  Don’t attempt to join the VPC to a domain since the domain will set the time within the VPC and thus cause Visual Studio to expire.

Many thanks to Jeff Beehler for this information which he posted on his blog, Brian Keller and his detailed description of the various activation messages associated with the CTP as well as to Virtual PC Guy who provided the original information on how to disable the VPC clock synchronization. 

If you’ve converted this VPC image to HyperV following Grant’s instructions, be sure to read Cameron’s update to learn of a similar workaround for HyperV.