<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Crescent City Networking &#187; Windows Virtual PC</title>
	<atom:link href="http://ccnetworking.com/wordpress/archives/category/microsoft/windows-virtual-pc/feed" rel="self" type="application/rss+xml" />
	<link>http://ccnetworking.com/wordpress</link>
	<description></description>
	<lastBuildDate>Wed, 28 Jul 2010 16:31:39 +0000</lastBuildDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Installing Windows Virtual PC on Windows 7 Home Editions</title>
		<link>http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/07/07/installing-windows-virtual-pc-on-windows-7-home-editions.aspx</link>
		<comments>http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/07/07/installing-windows-virtual-pc-on-windows-7-home-editions.aspx#comments</comments>
		<pubDate>Thu, 08 Jul 2010 06:25:47 +0000</pubDate>
		<dc:creator>Virtual PC Guy</dc:creator>
				<category><![CDATA[Hyper-V]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[Windows Virtual PC]]></category>
		<category><![CDATA[Virtualization]]></category>

		<guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10035747</guid>
		<description><![CDATA[<div class="wlWriterHeaderFooter" style="float:none;margin:0px;padding:0px 0px 0px 0px"> tweetmeme_url = 'http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/07/07/installing-windows-virtual-pc-on-windows-7-home-editions.aspx';  <br /><br /></div><p>For a while now I have been seeing random people complaining about the fact that they cannot install Windows Virtual PC on Windows 7 Home Editions (Basic or Premium).&#160; This always struck me as odd – as I was sure that this was a supported configuration – but I did not reply as I did not have the time to try this configuration myself and confirm that it did in fact work.</p>  <p>I finally had the chance to try this out – and while I can confirm that running Windows Virtual PC on Windows 7 Home Editions is supported and does work – I also stumbled upon the probable cause of peoples confusion.</p>  <p>If you go to the official Virtual PC website (<a href="http://www.microsoft.com/virtualpc">http://www.microsoft.com/virtualpc</a>) and indicate that you are running Windows 7 Home – you will be (correctly) informed that you are not eligible to run Windows XP Mode:</p>  <p><a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-41-22-metablogapi/3858.Windows7HomeVPC2_5F00_280A2F43.png" target="_blank"><img style="border-bottom: 0px;border-left: 0px;border-top: 0px;border-right: 0px" class="wlDisabledImage" border="0" alt="Windows 7 Home - VPC - 2" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-41-22-metablogapi/5123.Windows7HomeVPC2_5F00_thumb_5F00_6E871F4B.png" width="480" height="361" /></a></p>  <p>Unfortunately this page does not explain that you are eligible to run Windows Virtual PC.</p>  <p>To clarify – “Windows Virtual PC” is the virtualization program that allows you to create and run virtual machines on Windows 7.&#160; “Windows XP Mode” is a free pre-configured Windows XP virtual machine.&#160; “Windows XP Mode” is not available for people running Windows 7 Home editions; but these users can download Windows Virtual PC and use a separate (fully licensed) copy of Windows XP to create their own Windows XP virtual machines and get all the functionality of Windows XP Mode.</p>  <p>You can download Windows Virtual PC directly from here: <a title="http://www.microsoft.com/downloads/details.aspx?FamilyID=2B6D5C18-1441-47EA-8309-2545B08E11DD" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=2B6D5C18-1441-47EA-8309-2545B08E11DD">http://www.microsoft.com/downloads/details.aspx?FamilyID=2B6D5C18-1441-47EA-8309-2545B08E11DD</a></p>  <p>And as you can see – on this page it does state that Windows 7 Home editions are supported:</p>  <p><a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-41-22-metablogapi/1616.Windows7HomeVPC4_5F00_2731C959.png" target="_blank"><img style="border-bottom: 0px;border-left: 0px;border-top: 0px;border-right: 0px" class="wlDisabledImage" border="0" alt="Windows 7 Home - VPC - 4" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-41-22-metablogapi/1222.Windows7HomeVPC4_5F00_thumb_5F00_0DC9C61F.png" width="476" height="357" /></a></p>  <p>Hopefully the main webpage can be updated to make this less confusing in the future.</p>  <p>Cheers,   <br />Ben    </p><div style="clear:both"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10035747" width="1" height="1"/>]]></description>
			<content:encoded><![CDATA[<div class="wlWriterHeaderFooter" style="float:none; margin:0px; padding:0px 0px 0px 0px;"><script type="text/javascript"> tweetmeme_url = 'http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/07/07/installing-windows-virtual-pc-on-windows-7-home-editions.aspx'; </script> <script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script><br /><br /></div><p>For a while now I have been seeing random people complaining about the fact that they cannot install Windows Virtual PC on Windows 7 Home Editions (Basic or Premium).&#160; This always struck me as odd – as I was sure that this was a supported configuration – but I did not reply as I did not have the time to try this configuration myself and confirm that it did in fact work.</p>  <p>I finally had the chance to try this out – and while I can confirm that running Windows Virtual PC on Windows 7 Home Editions is supported and does work – I also stumbled upon the probable cause of peoples confusion.</p>  <p>If you go to the official Virtual PC website (<a href="http://www.microsoft.com/virtualpc">http://www.microsoft.com/virtualpc</a>) and indicate that you are running Windows 7 Home – you will be (correctly) informed that you are not eligible to run Windows XP Mode:</p>  <p><a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-41-22-metablogapi/3858.Windows7HomeVPC2_5F00_280A2F43.png" ><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" class="wlDisabledImage" title="Windows 7 Home - VPC - 2" border="0" alt="Windows 7 Home - VPC - 2" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-41-22-metablogapi/5123.Windows7HomeVPC2_5F00_thumb_5F00_6E871F4B.png" width="480" height="361" /></a></p>  <p>Unfortunately this page does not explain that you are eligible to run Windows Virtual PC.</p>  <p>To clarify – “Windows Virtual PC” is the virtualization program that allows you to create and run virtual machines on Windows 7.&#160; “Windows XP Mode” is a free pre-configured Windows XP virtual machine.&#160; “Windows XP Mode” is not available for people running Windows 7 Home editions; but these users can download Windows Virtual PC and use a separate (fully licensed) copy of Windows XP to create their own Windows XP virtual machines and get all the functionality of Windows XP Mode.</p>  <p>You can download Windows Virtual PC directly from here: <a title="http://www.microsoft.com/downloads/details.aspx?FamilyID=2B6D5C18-1441-47EA-8309-2545B08E11DD" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=2B6D5C18-1441-47EA-8309-2545B08E11DD">http://www.microsoft.com/downloads/details.aspx?FamilyID=2B6D5C18-1441-47EA-8309-2545B08E11DD</a></p>  <p>And as you can see – on this page it does state that Windows 7 Home editions are supported:</p>  <p><a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-41-22-metablogapi/1616.Windows7HomeVPC4_5F00_2731C959.png" ><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" class="wlDisabledImage" title="Windows 7 Home - VPC - 4" border="0" alt="Windows 7 Home - VPC - 4" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-41-22-metablogapi/1222.Windows7HomeVPC4_5F00_thumb_5F00_0DC9C61F.png" width="476" height="357" /></a></p>  <p>Hopefully the main webpage can be updated to make this less confusing in the future.</p>  <p>Cheers,   <br />Ben    </p><div style="clear:both;"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10035747" width="1" height="1"/>]]></content:encoded>
			<wfw:commentRss>http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/07/07/installing-windows-virtual-pc-on-windows-7-home-editions.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PowerShell Script to Register a bunch of Virtual Machines [Virtual PC]</title>
		<link>http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/06/08/powershell-script-to-register-a-bunch-of-virtual-machines-virtual-pc.aspx</link>
		<comments>http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/06/08/powershell-script-to-register-a-bunch-of-virtual-machines-virtual-pc.aspx#comments</comments>
		<pubDate>Wed, 09 Jun 2010 05:55:00 +0000</pubDate>
		<dc:creator>Virtual PC Guy</dc:creator>
				<category><![CDATA[Hyper-V]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Windows Virtual PC]]></category>
		<category><![CDATA[Developing on Windows Virtual PC / Virtual Server / Hyper-V]]></category>
		<category><![CDATA[Virtual PC / Server Tips 'n' Tricks]]></category>
		<category><![CDATA[Virtualization]]></category>

		<guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10022093</guid>
		<description><![CDATA[<div class="wlWriterHeaderFooter" style="float:none;margin:0px;padding:0px 0px 0px 0px">


</div>
<p>When I was getting ready to head out to TechEd this week I copied a bunch of my Windows Virtual PC virtual machines onto a USB disk.&#160; 60 of them to be precise.&#160; But then I had the problem of how to get them all registered.</p>
<p>Sure, you can register a virtual machine with Windows Virtual PC by just double clicking on the .VMC file for the virtual machine &#8211; but this also starts the virtual machine.&#160; I did not want to have to start (and stop) all 60 virtual machines just to get them registered.&#160; So I threw together this little PowerShell script to do the job for me:</p>
<div style="text-align: left;line-height: 12pt;background-color: #f4f4f4;margin: 20px 0px 10px;width: 97.5%;font-family: 'Courier New', courier, monospace;direction: ltr;font-size: 8pt;overflow: auto;cursor: text;border: silver 1px solid;padding: 4px">
<div style="text-align: left;line-height: 12pt;background-color: #f4f4f4;width: 100%;font-family: 'Courier New', courier, monospace;direction: ltr;color: black;font-size: 8pt;overflow: visible;border-style: none;padding: 0px">
<pre style="text-align: left;line-height: 12pt;background-color: white;margin: 0em;width: 100%;font-family: 'Courier New', courier, monospace;direction: ltr;color: black;font-size: 8pt;overflow: visible;border-style: none;padding: 0px"><span style="color: #008000"># Switch to using Single-Threaded Apartment model - needed by WinForms</span></pre>
<!--crlf-->
<pre style="text-align: left;line-height: 12pt;background-color: #f4f4f4;margin: 0em;width: 100%;font-family: 'Courier New', courier, monospace;direction: ltr;color: black;font-size: 8pt;overflow: visible;border-style: none;padding: 0px"><span style="color: #0000ff">if</span>([Threading.Thread]::CurrentThread.ApartmentState <span style="color: #cc6633">-ne</span> <span style="color: #006080">"STA"</span>)</pre>
<!--crlf-->
<pre style="text-align: left;line-height: 12pt;background-color: white;margin: 0em;width: 100%;font-family: 'Courier New', courier, monospace;direction: ltr;color: black;font-size: 8pt;overflow: visible;border-style: none;padding: 0px">   { </pre>
<!--crlf-->
<pre style="text-align: left;line-height: 12pt;background-color: #f4f4f4;margin: 0em;width: 100%;font-family: 'Courier New', courier, monospace;direction: ltr;color: black;font-size: 8pt;overflow: visible;border-style: none;padding: 0px">   PowerShell -NoProfile -STA -File $myInvocation.MyCommand.Definition</pre>
<!--crlf-->
<pre style="text-align: left;line-height: 12pt;background-color: white;margin: 0em;width: 100%;font-family: 'Courier New', courier, monospace;direction: ltr;color: black;font-size: 8pt;overflow: visible;border-style: none;padding: 0px">   <span style="color: #0000ff">return</span> </pre>
<!--crlf-->
<pre style="text-align: left;line-height: 12pt;background-color: #f4f4f4;margin: 0em;width: 100%;font-family: 'Courier New', courier, monospace;direction: ltr;color: black;font-size: 8pt;overflow: visible;border-style: none;padding: 0px">   } </pre>
<!--crlf-->
<pre style="text-align: left;line-height: 12pt;background-color: white;margin: 0em;width: 100%;font-family: 'Courier New', courier, monospace;direction: ltr;color: black;font-size: 8pt;overflow: visible;border-style: none;padding: 0px">&#160;</pre>
<!--crlf-->
<pre style="text-align: left;line-height: 12pt;background-color: #f4f4f4;margin: 0em;width: 100%;font-family: 'Courier New', courier, monospace;direction: ltr;color: black;font-size: 8pt;overflow: visible;border-style: none;padding: 0px"><span style="color: #008000"># Make new folder browse dialog - and display it</span></pre>
<!--crlf-->
<pre style="text-align: left;line-height: 12pt;background-color: white;margin: 0em;width: 100%;font-family: 'Courier New', courier, monospace;direction: ltr;color: black;font-size: 8pt;overflow: visible;border-style: none;padding: 0px">[System.Reflection.Assembly]::LoadWithPartialName(<span style="color: #006080">"System.windows.forms"</span>) &#124; Out-Null</pre>
<!--crlf-->
<pre style="text-align: left;line-height: 12pt;background-color: #f4f4f4;margin: 0em;width: 100%;font-family: 'Courier New', courier, monospace;direction: ltr;color: black;font-size: 8pt;overflow: visible;border-style: none;padding: 0px">$OpenFileDialog = New-Object System.Windows.Forms.folderbrowserdialog</pre>
<!--crlf-->
<pre style="text-align: left;line-height: 12pt;background-color: white;margin: 0em;width: 100%;font-family: 'Courier New', courier, monospace;direction: ltr;color: black;font-size: 8pt;overflow: visible;border-style: none;padding: 0px">$OpenFileDialog.Description = <span style="color: #006080">"Select a folder to register virtual machines from."</span></pre>
<!--crlf-->
<pre style="text-align: left;line-height: 12pt;background-color: #f4f4f4;margin: 0em;width: 100%;font-family: 'Courier New', courier, monospace;direction: ltr;color: black;font-size: 8pt;overflow: visible;border-style: none;padding: 0px">$OpenFileDialog.ShowDialog() &#124; Out-Null</pre>
<!--crlf-->
<pre style="text-align: left;line-height: 12pt;background-color: white;margin: 0em;width: 100%;font-family: 'Courier New', courier, monospace;direction: ltr;color: black;font-size: 8pt;overflow: visible;border-style: none;padding: 0px">&#160;</pre>
<!--crlf-->
<pre style="text-align: left;line-height: 12pt;background-color: #f4f4f4;margin: 0em;width: 100%;font-family: 'Courier New', courier, monospace;direction: ltr;color: black;font-size: 8pt;overflow: visible;border-style: none;padding: 0px"><span style="color: #008000"># Only move on if the user actually selected a folder</span></pre>
<!--crlf-->
<pre style="text-align: left;line-height: 12pt;background-color: white;margin: 0em;width: 100%;font-family: 'Courier New', courier, monospace;direction: ltr;color: black;font-size: 8pt;overflow: visible;border-style: none;padding: 0px"><span style="color: #0000ff">if</span> ($OpenFileDialog.SelectedPath)</pre>
<!--crlf-->
<pre style="text-align: left;line-height: 12pt;background-color: #f4f4f4;margin: 0em;width: 100%;font-family: 'Courier New', courier, monospace;direction: ltr;color: black;font-size: 8pt;overflow: visible;border-style: none;padding: 0px">   {</pre>
<!--crlf-->
<pre style="text-align: left;line-height: 12pt;background-color: white;margin: 0em;width: 100%;font-family: 'Courier New', courier, monospace;direction: ltr;color: black;font-size: 8pt;overflow: visible;border-style: none;padding: 0px">   <span style="color: #008000"># Find all .VMC files under the directory selected by the user</span></pre>
<!--crlf-->
<pre style="text-align: left;line-height: 12pt;background-color: #f4f4f4;margin: 0em;width: 100%;font-family: 'Courier New', courier, monospace;direction: ltr;color: black;font-size: 8pt;overflow: visible;border-style: none;padding: 0px">   $files = get-childitem $OpenFileDialog.SelectedPath -recurse &#124; where {$_.extension <span style="color: #cc6633">-eq</span> <span style="color: #006080">".vmc"</span>}</pre>
<!--crlf-->
<pre style="text-align: left;line-height: 12pt;background-color: white;margin: 0em;width: 100%;font-family: 'Courier New', courier, monospace;direction: ltr;color: black;font-size: 8pt;overflow: visible;border-style: none;padding: 0px">&#160;</pre>
<!--crlf-->
<pre style="text-align: left;line-height: 12pt;background-color: #f4f4f4;margin: 0em;width: 100%;font-family: 'Courier New', courier, monospace;direction: ltr;color: black;font-size: 8pt;overflow: visible;border-style: none;padding: 0px">   <span style="color: #008000"># Get the VPC object</span></pre>
<!--crlf-->
<pre style="text-align: left;line-height: 12pt;background-color: white;margin: 0em;width: 100%;font-family: 'Courier New', courier, monospace;direction: ltr;color: black;font-size: 8pt;overflow: visible;border-style: none;padding: 0px">   $vpc = new-object &#8211;com VirtualPC.Application &#8211;Strict</pre>
<!--crlf-->
<pre style="text-align: left;line-height: 12pt;background-color: #f4f4f4;margin: 0em;width: 100%;font-family: 'Courier New', courier, monospace;direction: ltr;color: black;font-size: 8pt;overflow: visible;border-style: none;padding: 0px">&#160;</pre>
<!--crlf-->
<pre style="text-align: left;line-height: 12pt;background-color: white;margin: 0em;width: 100%;font-family: 'Courier New', courier, monospace;direction: ltr;color: black;font-size: 8pt;overflow: visible;border-style: none;padding: 0px">   <span style="color: #008000"># Go through each of the .VMC files and register them</span></pre>
<!--crlf-->
<pre style="text-align: left;line-height: 12pt;background-color: #f4f4f4;margin: 0em;width: 100%;font-family: 'Courier New', courier, monospace;direction: ltr;color: black;font-size: 8pt;overflow: visible;border-style: none;padding: 0px">   Foreach ($file <span style="color: #0000ff">in</span> $files)</pre>
<!--crlf-->
<pre style="text-align: left;line-height: 12pt;background-color: white;margin: 0em;width: 100%;font-family: 'Courier New', courier, monospace;direction: ltr;color: black;font-size: 8pt;overflow: visible;border-style: none;padding: 0px">      {</pre>
<!--crlf-->
<pre style="text-align: left;line-height: 12pt;background-color: #f4f4f4;margin: 0em;width: 100%;font-family: 'Courier New', courier, monospace;direction: ltr;color: black;font-size: 8pt;overflow: visible;border-style: none;padding: 0px">      $vpc.RegisterVirtualMachine($file.Name,$file.DirectoryName) &#124; Out-Null</pre>
<!--crlf-->
<pre style="text-align: left;line-height: 12pt;background-color: white;margin: 0em;width: 100%;font-family: 'Courier New', courier, monospace;direction: ltr;color: black;font-size: 8pt;overflow: visible;border-style: none;padding: 0px">      }</pre>
<!--crlf-->
<pre style="text-align: left;line-height: 12pt;background-color: #f4f4f4;margin: 0em;width: 100%;font-family: 'Courier New', courier, monospace;direction: ltr;color: black;font-size: 8pt;overflow: visible;border-style: none;padding: 0px">   }</pre>
<!--crlf--></div>
</div>
<p>When you run this script &#8211; you will be presented with a folder selection dialog.&#160; Once you have selected a folder the script will then look for &#8211; and register &#8211; all .VMC files that exist underneath that folder.&#160; Very handy!</p>
<p>Cheers, <br />Ben</p><div style="clear:both"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10022093" width="1" height="1"/>]]></description>
			<content:encoded><![CDATA[<div class="wlWriterHeaderFooter" style="float:none; margin:0px; padding:0px 0px 0px 0px;">
<script type="text/javascript"><!--
tweetmeme_url = 'http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/06/08/powershell-script-to-register-a-bunch-of-virtual-machines-virtual-pc.aspx';
// --></script>
<script src="http://tweetmeme.com/i/scripts/button.js" type="text/javascript"></script>
</div>
<p>When I was getting ready to head out to TechEd this week I copied a bunch of my Windows Virtual PC virtual machines onto a USB disk.&nbsp; 60 of them to be precise.&nbsp; But then I had the problem of how to get them all registered.</p>
<p>Sure, you can register a virtual machine with Windows Virtual PC by just double clicking on the .VMC file for the virtual machine &ndash; but this also starts the virtual machine.&nbsp; I did not want to have to start (and stop) all 60 virtual machines just to get them registered.&nbsp; So I threw together this little PowerShell script to do the job for me:</p>
<div id="codeSnippetWrapper" style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; width: 97.5%; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 20000px; font-size: 8pt; overflow: auto; cursor: text; border: silver 1px solid; padding: 4px;">
<div id="codeSnippet" style="text-align: left; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span style="color: #008000"># Switch to using Single-Threaded Apartment model - needed by WinForms</span></pre>
<!--crlf-->
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span style="color: #0000ff">if</span>([Threading.Thread]::CurrentThread.ApartmentState <span style="color: #cc6633">-ne</span> <span style="color: #006080">"STA"</span>)</pre>
<!--crlf-->
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">   { </pre>
<!--crlf-->
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">   PowerShell -NoProfile -STA -File $myInvocation.MyCommand.Definition</pre>
<!--crlf-->
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">   <span style="color: #0000ff">return</span> </pre>
<!--crlf-->
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">   } </pre>
<!--crlf-->
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<!--crlf-->
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span style="color: #008000"># Make new folder browse dialog - and display it</span></pre>
<!--crlf-->
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">[System.Reflection.Assembly]::LoadWithPartialName(<span style="color: #006080">"System.windows.forms"</span>) | Out-Null</pre>
<!--crlf-->
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">$OpenFileDialog = New-Object System.Windows.Forms.folderbrowserdialog</pre>
<!--crlf-->
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">$OpenFileDialog.Description = <span style="color: #006080">"Select a folder to register virtual machines from."</span></pre>
<!--crlf-->
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">$OpenFileDialog.ShowDialog() | Out-Null</pre>
<!--crlf-->
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<!--crlf-->
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span style="color: #008000"># Only move on if the user actually selected a folder</span></pre>
<!--crlf-->
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;"><span style="color: #0000ff">if</span> ($OpenFileDialog.SelectedPath)</pre>
<!--crlf-->
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">   {</pre>
<!--crlf-->
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">   <span style="color: #008000"># Find all .VMC files under the directory selected by the user</span></pre>
<!--crlf-->
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">   $files = get-childitem $OpenFileDialog.SelectedPath -recurse | where {$_.extension <span style="color: #cc6633">-eq</span> <span style="color: #006080">".vmc"</span>}</pre>
<!--crlf-->
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<!--crlf-->
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">   <span style="color: #008000"># Get the VPC object</span></pre>
<!--crlf-->
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">   $vpc = new-object &ndash;com VirtualPC.Application &ndash;Strict</pre>
<!--crlf-->
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">&nbsp;</pre>
<!--crlf-->
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">   <span style="color: #008000"># Go through each of the .VMC files and register them</span></pre>
<!--crlf-->
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">   Foreach ($file <span style="color: #0000ff">in</span> $files)</pre>
<!--crlf-->
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">      {</pre>
<!--crlf-->
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">      $vpc.RegisterVirtualMachine($file.Name,$file.DirectoryName) | Out-Null</pre>
<!--crlf-->
<pre style="text-align: left; line-height: 12pt; background-color: white; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">      }</pre>
<!--crlf-->
<pre style="text-align: left; line-height: 12pt; background-color: #f4f4f4; margin: 0em; width: 100%; font-family: 'Courier New', courier, monospace; direction: ltr; color: black; font-size: 8pt; overflow: visible; border-style: none; padding: 0px;">   }</pre>
<!--crlf--></div>
</div>
<p>When you run this script &ndash; you will be presented with a folder selection dialog.&nbsp; Once you have selected a folder the script will then look for &ndash; and register &ndash; all .VMC files that exist underneath that folder.&nbsp; Very handy!</p>
<p>Cheers, <br />Ben</p><div style="clear:both;"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10022093" width="1" height="1"/>]]></content:encoded>
			<wfw:commentRss>http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/06/08/powershell-script-to-register-a-bunch-of-virtual-machines-virtual-pc.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Components-PostAttachments/00-10-02-20-93/RegisterVMs.zip" length="930" type="application/x-zip-compressed" />
		</item>
		<item>
		<title>Installing Windows 98 on Windows Virtual PC</title>
		<link>http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/05/27/installing-windows-98-on-windows-virtual-pc.aspx</link>
		<comments>http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/05/27/installing-windows-98-on-windows-virtual-pc.aspx#comments</comments>
		<pubDate>Thu, 27 May 2010 07:42:00 +0000</pubDate>
		<dc:creator>Virtual PC Guy</dc:creator>
				<category><![CDATA[Hyper-V]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Windows Virtual PC]]></category>
		<category><![CDATA[Operating Systems under Virtual PC / Virtual Server / Hyper-V]]></category>
		<category><![CDATA[Virtualization]]></category>

		<guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10016134</guid>
		<description><![CDATA[<div style="float:none;margin:0px;padding:0px 0px 0px 0px" class="wlWriterHeaderFooter">


</div>
<p>Windows Virtual PC only officially supports Windows XP, Windows Vista and Windows 7 as guest operating systems.&#160; Thankfully it has great compatibility and can run many operating systems that are not officially supported.</p>
<p>I recently needed to setup a Windows 98 virtual machine for my wife &#8211; who has some genealogy software that will not even run on Windows XP.&#160; To do this I created a new virtual machine and configured it with 64mb of RAM and a 16GB virtual hard disk.</p>
<p>I was then able to install Windows 98 with no real problems:</p>
<p><a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-41-22-metablogapi/7737.Windows981_5F00_2.png" target="_blank"><img style="border-bottom: 0px;border-left: 0px;border-top: 0px;border-right: 0px" class="wlDisabledImage" border="0" alt="Windows981" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-41-22-metablogapi/1057.Windows981_5F00_thumb.png" width="244" height="173" /></a><a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-41-22-metablogapi/3122.Windows982_5F00_2.png" target="_blank"><img style="border-bottom: 0px;border-left: 0px;border-top: 0px;border-right: 0px" class="wlDisabledImage" border="0" alt="Windows982" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-41-22-metablogapi/3443.Windows982_5F00_thumb.png" width="214" height="173" /></a><a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-41-22-metablogapi/3036.Windows984_5F00_2.png" target="_blank"><img style="border-bottom: 0px;border-left: 0px;border-top: 0px;border-right: 0px" class="wlDisabledImage" border="0" alt="Windows984" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-41-22-metablogapi/0882.Windows984_5F00_thumb.png" width="210" height="173" /></a><a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-41-22-metablogapi/0474.Windows987_5F00_2.png" target="_blank"><img style="border-bottom: 0px;border-left: 0px;border-top: 0px;border-right: 0px" class="wlDisabledImage" border="0" alt="Windows987" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-41-22-metablogapi/6354.Windows987_5F00_thumb.png" width="209" height="173" /></a><a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-41-22-metablogapi/0804.Windows9810_5F00_2.png" target="_blank"><img style="border-bottom: 0px;border-left: 0px;border-top: 0px;border-right: 0px" class="wlDisabledImage" border="0" alt="Windows9810" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-41-22-metablogapi/8836.Windows9810_5F00_thumb.png" width="210" height="173" /></a></p>
<p>Some things to be aware of when doing this:</p>
<ul>
<li>I originally created the virtual machine with 128mb of RAM &#8211; but that caused problems for the setup program.&#160; Setting the memory to 64mb allowed the installation to go through successfully &#8211; and I was able to increase the memory after the operating system installation.</li>
<li>I happen to have a bootable Windows 98 installation CD &#8211; but most Windows 98 installation CDs are not bootable.&#160; If you have one of these &#8211; you need to use a boot floppy &#8211; which means you will need <a href="http://blogs.msdn.com/b/virtual_pc_guy/archive/2009/10/01/using-floppy-disks-with-windows-virtual-pc.aspx">these scripts</a> for attaching floppy disks to virtual machines.</li>
<li>While I used a 16GB virtual hard disk &#8211; because that is all that I needed &#8211; I have tried this with disks up to 127GB in size and not seen any problems.</li>
</ul>
<p>After installation both networking and sound work correctly &#8211; but the video is kind of &#8220;sucky&#8221; and you need to capture / release the mouse whenever you use the virtual machine.&#160; Luckily you can address both of these issues by installing older virtual machine additions in the virtual machine.&#160; Doing this will give you:</p>
<ul>
<li>Better graphics</li>
<li>Integrated mouse functionality</li>
<li>Desktop resizing</li>
</ul>
<p>But you will not get:</p>
<ul>
<li>Clipboard integration</li>
<li>Time synchronization</li>
<li>Shared Folders</li>
<li>Printer / smart card sharing</li>
</ul>
<p>But how do you do this?&#160; The trick is to extract the old virtual machine additions out of a previous product.&#160; In my case I decided to get the virtual machine additions out of Virtual Server 2005 R2.&#160; To do this what you will need to do is:</p>
<ol>
<li>Download <a href="http://www.microsoft.com/downloads/details.aspx?familyid=bc49c7c8-4840-4e67-8dc4-1e6e218acce4&#38;displaylang=en" target="_blank">Virtual Server 2005 R2 SP1</a></li>
<li>Download the <a href="http://www.microsoft.com/downloads/details.aspx?familyid=A79BCF9B-59F7-480B-A4B8-FB56F42E3348" target="_blank">Virtual Server 2005 R2 SP1 Update</a></li>
<li>Put both files in a temporary working directory (I used <strong>C:\work</strong>)</li>
<li>Rename the Virtual Server <strong>setup.exe </strong>to <strong>1setup1.exe <br />&#160;&#160; </strong>- This is needed to get around the Windows application compatibility check, which we do not care about as we will not be installing Virtual Server</li>
<li>Open a command prompt and change to your temporary working directory</li>
<li>Run: <br />&#160;&#160; <strong>1setup1.exe /c /t . <br /></strong>This will extract the installation files out of the executable file</li>
<li>Next run: <br />&#160;&#160; <strong>start /wait msiexec /a "Virtual Server 2005 Install.msi" TARGETDIR="C:\Work\bits" /qn</strong> <br />This will extract all of the files out of the setup package</li>
<li>Finally run: <br />&#160;&#160; <strong>start /wait msiexec /p KB948515.msp /a "C:\Work\bits\Virtual Server 2005 Install.msi" /qn <br /></strong>This will apply the Virtual Server 2005 R2 SP1 update to the extracted files</li>
<li>Make a copy of the virtual machine additions ISO &#8211; which will be at <strong>C:\Work\Bits\Program Files\Microsoft Virtual Server\Virtual Machine Additions\VMAdditions.iso</strong></li>
<li>You can delete all the other files now &#8211; as that ISO file is the only one you need</li>
</ol>
<p>At this stage you should start up your Windows 98 virtual machine and login.&#160; Then attach the <strong>VMAdditions.iso</strong> file to the virtual machine.&#160; The virtual machine additions installer should start automatically inside the virtual machine:</p>
<p><a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-41-22-metablogapi/4201.Windows9811_5F00_2.png" target="_blank"><img style="border-bottom: 0px;border-left: 0px;border-top: 0px;border-right: 0px" class="wlDisabledImage" border="0" alt="Windows9811" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-41-22-metablogapi/7245.Windows9811_5F00_thumb.png" width="215" height="173" /></a><a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-41-22-metablogapi/6278.Windows9812_5F00_2.png" target="_blank"><img style="border-bottom: 0px;border-left: 0px;border-top: 0px;border-right: 0px" class="wlDisabledImage" border="0" alt="Windows9812" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-41-22-metablogapi/7652.Windows9812_5F00_thumb.png" width="215" height="173" /></a></p>
<p>After this you will need to reboot the virtual machine.</p>
<p>With all this in place &#8211; some parting notes that I have are:</p>
<ul>
<li>Do not connect this to a network!&#160; Seriously.&#160; Windows 98 is no longer supported by Microsoft &#8211; and security updates are not being released.&#160; Furthermore &#8211; there are no antivirus programs that are being actively maintained for Windows 98.&#160; So it is just a terrible idea to do.</li>
<li>If you do have to connect it to the network &#8211; here are some tips: 
<ul>
<li>Configure the virtual machine to use Shared Networking (NAT) &#8211; that will at least protect it from active network based attacks</li>
<li>You can install Internet Explorer 6 from <a href="http://download.microsoft.com/download/ie6sp1/finrel/6_sp1/W98NT42KMeXP/EN-US/ie6setup.exe" target="_blank">here</a> &#8211; but please, please, please do not use the virtual machine for general purpose web browsing</li>
<li>The Windows Update link in Windows 98 is broken &#8211; but you can use Windows Update by manually going to <a title="http://windowsupdate.microsoft.com" href="http://windowsupdate.microsoft.com">http://windowsupdate.microsoft.com</a></li>
</ul>
</li>
</ul>
<p>Cheers, <br />Ben</p><div style="clear:both"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10016134" width="1" height="1"/>]]></description>
			<content:encoded><![CDATA[<div style="float:none; margin:0px; padding:0px 0px 0px 0px;" class="wlWriterHeaderFooter">
<script type="text/javascript"><!--
tweetmeme_url = 'http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/05/27/installing-windows-98-on-windows-virtual-pc.aspx';
// --></script>
<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script>
</div>
<p>Windows Virtual PC only officially supports Windows XP, Windows Vista and Windows 7 as guest operating systems.&nbsp; Thankfully it has great compatibility and can run many operating systems that are not officially supported.</p>
<p>I recently needed to setup a Windows 98 virtual machine for my wife &ndash; who has some genealogy software that will not even run on Windows XP.&nbsp; To do this I created a new virtual machine and configured it with 64mb of RAM and a 16GB virtual hard disk.</p>
<p>I was then able to install Windows 98 with no real problems:</p>
<p><a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-41-22-metablogapi/7737.Windows981_5F00_2.png" ><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" class="wlDisabledImage" title="Windows981" border="0" alt="Windows981" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-41-22-metablogapi/1057.Windows981_5F00_thumb.png" width="244" height="173" /></a><a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-41-22-metablogapi/3122.Windows982_5F00_2.png" ><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" class="wlDisabledImage" title="Windows982" border="0" alt="Windows982" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-41-22-metablogapi/3443.Windows982_5F00_thumb.png" width="214" height="173" /></a><a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-41-22-metablogapi/3036.Windows984_5F00_2.png" ><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" class="wlDisabledImage" title="Windows984" border="0" alt="Windows984" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-41-22-metablogapi/0882.Windows984_5F00_thumb.png" width="210" height="173" /></a><a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-41-22-metablogapi/0474.Windows987_5F00_2.png" ><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" class="wlDisabledImage" title="Windows987" border="0" alt="Windows987" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-41-22-metablogapi/6354.Windows987_5F00_thumb.png" width="209" height="173" /></a><a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-41-22-metablogapi/0804.Windows9810_5F00_2.png" ><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" class="wlDisabledImage" title="Windows9810" border="0" alt="Windows9810" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-41-22-metablogapi/8836.Windows9810_5F00_thumb.png" width="210" height="173" /></a></p>
<p>Some things to be aware of when doing this:</p>
<ul>
<li>I originally created the virtual machine with 128mb of RAM &ndash; but that caused problems for the setup program.&nbsp; Setting the memory to 64mb allowed the installation to go through successfully &ndash; and I was able to increase the memory after the operating system installation.</li>
<li>I happen to have a bootable Windows 98 installation CD &ndash; but most Windows 98 installation CDs are not bootable.&nbsp; If you have one of these &ndash; you need to use a boot floppy &ndash; which means you will need <a href="http://blogs.msdn.com/b/virtual_pc_guy/archive/2009/10/01/using-floppy-disks-with-windows-virtual-pc.aspx">these scripts</a> for attaching floppy disks to virtual machines.</li>
<li>While I used a 16GB virtual hard disk &ndash; because that is all that I needed &ndash; I have tried this with disks up to 127GB in size and not seen any problems.</li>
</ul>
<p>After installation both networking and sound work correctly &ndash; but the video is kind of &ldquo;sucky&rdquo; and you need to capture / release the mouse whenever you use the virtual machine.&nbsp; Luckily you can address both of these issues by installing older virtual machine additions in the virtual machine.&nbsp; Doing this will give you:</p>
<ul>
<li>Better graphics</li>
<li>Integrated mouse functionality</li>
<li>Desktop resizing</li>
</ul>
<p>But you will not get:</p>
<ul>
<li>Clipboard integration</li>
<li>Time synchronization</li>
<li>Shared Folders</li>
<li>Printer / smart card sharing</li>
</ul>
<p>But how do you do this?&nbsp; The trick is to extract the old virtual machine additions out of a previous product.&nbsp; In my case I decided to get the virtual machine additions out of Virtual Server 2005 R2.&nbsp; To do this what you will need to do is:</p>
<ol>
<li>Download <a href="http://www.microsoft.com/downloads/details.aspx?familyid=bc49c7c8-4840-4e67-8dc4-1e6e218acce4&amp;displaylang=en" >Virtual Server 2005 R2 SP1</a></li>
<li>Download the <a href="http://www.microsoft.com/downloads/details.aspx?familyid=A79BCF9B-59F7-480B-A4B8-FB56F42E3348" >Virtual Server 2005 R2 SP1 Update</a></li>
<li>Put both files in a temporary working directory (I used <strong>C:\work</strong>)</li>
<li>Rename the Virtual Server <strong>setup.exe </strong>to <strong>1setup1.exe <br />&nbsp;&nbsp; </strong>- This is needed to get around the Windows application compatibility check, which we do not care about as we will not be installing Virtual Server</li>
<li>Open a command prompt and change to your temporary working directory</li>
<li>Run: <br />&nbsp;&nbsp; <strong>1setup1.exe /c /t . <br /></strong>This will extract the installation files out of the executable file</li>
<li>Next run: <br />&nbsp;&nbsp; <strong>start /wait msiexec /a "Virtual Server 2005 Install.msi" TARGETDIR="C:\Work\bits" /qn</strong> <br />This will extract all of the files out of the setup package</li>
<li>Finally run: <br />&nbsp;&nbsp; <strong>start /wait msiexec /p KB948515.msp /a "C:\Work\bits\Virtual Server 2005 Install.msi" /qn <br /></strong>This will apply the Virtual Server 2005 R2 SP1 update to the extracted files</li>
<li>Make a copy of the virtual machine additions ISO &ndash; which will be at <strong>C:\Work\Bits\Program Files\Microsoft Virtual Server\Virtual Machine Additions\VMAdditions.iso</strong></li>
<li>You can delete all the other files now &ndash; as that ISO file is the only one you need</li>
</ol>
<p>At this stage you should start up your Windows 98 virtual machine and login.&nbsp; Then attach the <strong>VMAdditions.iso</strong> file to the virtual machine.&nbsp; The virtual machine additions installer should start automatically inside the virtual machine:</p>
<p><a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-41-22-metablogapi/4201.Windows9811_5F00_2.png" ><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" class="wlDisabledImage" title="Windows9811" border="0" alt="Windows9811" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-41-22-metablogapi/7245.Windows9811_5F00_thumb.png" width="215" height="173" /></a><a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-41-22-metablogapi/6278.Windows9812_5F00_2.png" ><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" class="wlDisabledImage" title="Windows9812" border="0" alt="Windows9812" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-41-22-metablogapi/7652.Windows9812_5F00_thumb.png" width="215" height="173" /></a></p>
<p>After this you will need to reboot the virtual machine.</p>
<p>With all this in place &ndash; some parting notes that I have are:</p>
<ul>
<li>Do not connect this to a network!&nbsp; Seriously.&nbsp; Windows 98 is no longer supported by Microsoft &ndash; and security updates are not being released.&nbsp; Furthermore &ndash; there are no antivirus programs that are being actively maintained for Windows 98.&nbsp; So it is just a terrible idea to do.</li>
<li>If you do have to connect it to the network &ndash; here are some tips: 
<ul>
<li>Configure the virtual machine to use Shared Networking (NAT) &ndash; that will at least protect it from active network based attacks</li>
<li>You can install Internet Explorer 6 from <a href="http://download.microsoft.com/download/ie6sp1/finrel/6_sp1/W98NT42KMeXP/EN-US/ie6setup.exe" >here</a> &ndash; but please, please, please do not use the virtual machine for general purpose web browsing</li>
<li>The Windows Update link in Windows 98 is broken &ndash; but you can use Windows Update by manually going to <a title="http://windowsupdate.microsoft.com" href="http://windowsupdate.microsoft.com">http://windowsupdate.microsoft.com</a></li>
</ul>
</li>
</ul>
<p>Cheers, <br />Ben</p><div style="clear:both;"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10016134" width="1" height="1"/>]]></content:encoded>
			<wfw:commentRss>http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/05/27/installing-windows-98-on-windows-virtual-pc.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What is the Default Virtual Machine Location for Windows Virtual PC? (And why is it what it is?)</title>
		<link>http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/05/07/what-is-the-default-virtual-machine-location-for-windows-virtual-pc-and-why-is-it-what-it-is.aspx</link>
		<comments>http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/05/07/what-is-the-default-virtual-machine-location-for-windows-virtual-pc-and-why-is-it-what-it-is.aspx#comments</comments>
		<pubDate>Sat, 08 May 2010 01:57:00 +0000</pubDate>
		<dc:creator>Virtual PC Guy</dc:creator>
				<category><![CDATA[Hyper-V]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[Windows Virtual PC]]></category>
		<category><![CDATA[Windows XP Mode]]></category>
		<category><![CDATA[Virtualization]]></category>

		<guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10006083</guid>
		<description><![CDATA[<div class="wlWriterHeaderFooter" style="float:none;margin:0px;padding:0px 0px 0px 0px">
tweetmeme_url = 'http://blogs.msdn.com/virtual_pc_guy/archive/2010/05/07/what-is-the-default-virtual-machine-location-for-windows-virtual-pc-and-why-is-it-what-it-is.aspx';

<br /><br /></div><p>My post on <a href="http://blogs.msdn.com/virtual_pc_guy/archive/2010/05/05/managing-the-default-virtual-machine-location-with-windows-virtual-pc.aspx" target="_blank">how to configure the default virtual machine location for Windows Virtual PC</a> has raised a number of questions.&#160; One of which is: what is the default default virtual machine location for Windows Virtual PC?&#160; This question is almost always then followed by the question – why is it that?</p>  <p>Before getting into the answers to these questions – I would like to start by stating that this has been a surprisingly contentious issue; both with our users and inside the development team itself.&#160; With that acknowledged – I am not trying to argue that one choice is better than an other – but rather to explain the logic behind our current choice.</p>  <p>Now – on to the answers:</p>  <p>What is the default default virtual machine location for Windows Virtual PC?</p>  <p>%LocalAppData%\Microsoft\Windows Virtual PC\Virtual Machines\</p>  <p>Why is that the default default location?</p>  <p>Virtual PC 2004 / 2007 defaulted to storing virtual machines in the users “My Documents” folder – and there are many people who like to have their virtual machines stored there.&#160; There were a couple of reasons that drove us to change this default in Windows Virtual PC:</p>  <ul>   <li>Many users now have their “Documents” folder redirected to a network location.&#160; It is preferable to run virtual machines off of local storage – so we wanted to find a location that was guaranteed to be local where we could also guarantee that the current user would have the ability to read / write.&#160; %LocalAppData% is pretty much the only location that provides these guarantees.</li>    <li>Many users who are using Windows Virtual PC just for Windows XP mode do not want to see the virtual machine – and do not care where the files for it are.&#160; For these users the Windows XP virtual hard disk is truly more like application data than one of their documents.</li> </ul>  <p>Of course – if you want to store your virtual machines in a different location – the original blog post that sparked this discussion (linked at the top of this post) tells you everything you need to know about changing the default virtual machine location for Windows Virtual PC.</p>  <p>Cheers,   <br />Ben</p><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10006083" width="1" height="1"/>]]></description>
			<content:encoded><![CDATA[<div class="wlWriterHeaderFooter" style="float:none; margin:0px; padding:0px 0px 0px 0px;"><script type="text/javascript">
tweetmeme_url = 'http://blogs.msdn.com/virtual_pc_guy/archive/2010/05/07/what-is-the-default-virtual-machine-location-for-windows-virtual-pc-and-why-is-it-what-it-is.aspx';
</script>
<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script><br /><br /></div><p>My post on <a href="http://blogs.msdn.com/virtual_pc_guy/archive/2010/05/05/managing-the-default-virtual-machine-location-with-windows-virtual-pc.aspx" >how to configure the default virtual machine location for Windows Virtual PC</a> has raised a number of questions.&#160; One of which is: what is the default default virtual machine location for Windows Virtual PC?&#160; This question is almost always then followed by the question – why is it that?</p>  <p>Before getting into the answers to these questions – I would like to start by stating that this has been a surprisingly contentious issue; both with our users and inside the development team itself.&#160; With that acknowledged – I am not trying to argue that one choice is better than an other – but rather to explain the logic behind our current choice.</p>  <p>Now – on to the answers:</p>  <p>What is the default default virtual machine location for Windows Virtual PC?</p>  <p>%LocalAppData%\Microsoft\Windows Virtual PC\Virtual Machines\</p>  <p>Why is that the default default location?</p>  <p>Virtual PC 2004 / 2007 defaulted to storing virtual machines in the users “My Documents” folder – and there are many people who like to have their virtual machines stored there.&#160; There were a couple of reasons that drove us to change this default in Windows Virtual PC:</p>  <ul>   <li>Many users now have their “Documents” folder redirected to a network location.&#160; It is preferable to run virtual machines off of local storage – so we wanted to find a location that was guaranteed to be local where we could also guarantee that the current user would have the ability to read / write.&#160; %LocalAppData% is pretty much the only location that provides these guarantees.</li>    <li>Many users who are using Windows Virtual PC just for Windows XP mode do not want to see the virtual machine – and do not care where the files for it are.&#160; For these users the Windows XP virtual hard disk is truly more like application data than one of their documents.</li> </ul>  <p>Of course – if you want to store your virtual machines in a different location – the original blog post that sparked this discussion (linked at the top of this post) tells you everything you need to know about changing the default virtual machine location for Windows Virtual PC.</p>  <p>Cheers,   <br />Ben</p><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10006083" width="1" height="1"/>]]></content:encoded>
			<wfw:commentRss>http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/05/07/what-is-the-default-virtual-machine-location-for-windows-virtual-pc-and-why-is-it-what-it-is.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Managing the Default Virtual Machine Location with Windows Virtual PC</title>
		<link>http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/05/05/managing-the-default-virtual-machine-location-with-windows-virtual-pc.aspx</link>
		<comments>http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/05/05/managing-the-default-virtual-machine-location-with-windows-virtual-pc.aspx#comments</comments>
		<pubDate>Wed, 05 May 2010 23:27:00 +0000</pubDate>
		<dc:creator>Virtual PC Guy</dc:creator>
				<category><![CDATA[Hyper-V]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Windows Virtual PC]]></category>
		<category><![CDATA[Developing on Windows Virtual PC / Virtual Server / Hyper-V]]></category>
		<category><![CDATA[Virtual PC / Server Tips 'n' Tricks]]></category>
		<category><![CDATA[Virtualization]]></category>

		<guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10006045</guid>
		<description><![CDATA[<div class="wlWriterHeaderFooter">

tweetmeme_url = 'http://blogs.msdn.com/virtual_pc_guy/archive/2010/05/05/managing-the-default-virtual-machine-location-with-windows-virtual-pc.aspx';



<br /><br /></div>
<p>Virtual PC 2004 / 2007 always default to creating new virtual machines in the current users “My Documents” folder.&#160; Users who need to use an alternate location can do so by setting up the <a href="http://blogs.msdn.com/virtual_pc_guy/archive/2005/04/13/407796.aspx" target="_blank">MYVIRTUALMACHINES environment variable</a>.</p>
<p>Things have changed significantly with Windows Virtual PC.</p>
<p>The first change is that we no longer look at the MYVIRTUALMACHINES environment variable.</p>
<p>The second change is that we no longer enforce a static default location.&#160; Rather – every time you create a new virtual machine – the location that you specify for the new virtual machine:</p>
<p><a href="http://blogs.msdn.com/blogfiles/virtual_pc_guy/WindowsLiveWriter/ManagingtheDefaultVirtualMachineLocation_E821/image_2.png" target="_blank"><img border="0" alt="image" src="http://blogs.msdn.com/blogfiles/virtual_pc_guy/WindowsLiveWriter/ManagingtheDefaultVirtualMachineLocation_E821/image_thumb.png" width="532" height="382"/></a> </p>
<p>Will be used as the default virtual machine location the next time you try to create a virtual machine.</p>
<p>Finally – if you do want to programmatically set a default location you can do so using some simple scripts:</p>
<p>PowerShell:</p>
<div>
<div><pre><span>param</span>([string]$path)</pre><!--CRLF--><pre> </pre><!--CRLF--><pre><span># Check for correct command-line arguments</span></pre><!--CRLF--><pre>If ($path <span>-eq</span> <span>""</span>)</pre><!--CRLF--><pre> {</pre><!--CRLF--><pre> write-host <span>"Missing command-line argument."</span></pre><!--CRLF--><pre> write-host <span>"USage: SetDefaultVMPath.ps1 -path `"</span>Default path to use <span>for</span> new virtual machines`<span>""</span></pre><!--CRLF--><pre> exit</pre><!--CRLF--><pre> }</pre><!--CRLF--><pre> </pre><!--CRLF--><pre><span># Connect to Virtual PC</span></pre><!--CRLF--><pre>$vpc=new-object –com VirtualPC.Application –Strict</pre><!--CRLF--><pre> </pre><!--CRLF--><pre><span># Set the new default VM path</span></pre><!--CRLF--><pre>$vpc.DefaultVMConfigurationPath = $path</pre><!--CRLF--></div></div>
<p>VBScript:</p>
<div>
<div><pre><span>Option</span> Explicit</pre><!--CRLF--><pre> </pre><!--CRLF--><pre><span>Dim</span> namedArguments, vpc, defaultVMPath</pre><!--CRLF--><pre> </pre><!--CRLF--><pre><span>' Check that the script is running at the command line.</span></pre><!--CRLF--><pre><span>If</span> UCase(Right(Wscript.FullName, 11)) = <span>"WSCRIPT.EXE"</span> <span>Then</span></pre><!--CRLF--><pre> WScript.Echo <span>"This script must be run under CScript."</span></pre><!--CRLF--><pre> WScript.Quit</pre><!--CRLF--><pre><span>End</span> <span>If</span></pre><!--CRLF--><pre> </pre><!--CRLF--><pre><span>' Get the new default VM path from the command-line arguments</span></pre><!--CRLF--><pre><span>Set</span> namedArguments = WScript.Arguments.Named</pre><!--CRLF--><pre> </pre><!--CRLF--><pre><span>If</span> namedArguments.Exists(<span>"path"</span>) <span>Then</span></pre><!--CRLF--><pre> defaultVMPath = namedArguments.Item(<span>"path"</span>)</pre><!--CRLF--><pre><span>Else</span></pre><!--CRLF--><pre> WScript.Echo <span>"Missing command-line argument"</span></pre><!--CRLF--><pre> WScript.Echo</pre><!--CRLF--><pre> WScript.Echo <span>"Usage: SetDefaultVMPath.vbs /path:"</span> &#38; chr(34) &#38; <span>"Default path to use for new virtual machines"</span> &#38; chr(34)</pre><!--CRLF--><pre> WScript.Echo</pre><!--CRLF--><pre> WScript.Quit</pre><!--CRLF--><pre><span>End</span> <span>If</span></pre><!--CRLF--><pre> </pre><!--CRLF--><pre><span>' Attempt to connect to Virtual PC</span></pre><!--CRLF--><pre><span>On</span> <span>Error</span> <span>Resume</span> <span>Next</span></pre><!--CRLF--><pre><span>Set</span> vpc = CreateObject(<span>"VirtualPC.Application"</span>)</pre><!--CRLF--><pre><span>If</span> Err.Number &#60;&#62; 0 <span>Then</span></pre><!--CRLF--><pre> WScript.Echo <span>"Unable to connect to Virtual PC."</span></pre><!--CRLF--><pre> WScript.Quit</pre><!--CRLF--><pre><span>End</span> <span>if</span></pre><!--CRLF--><pre><span>On</span> <span>Error</span> <span>Goto</span> 0</pre><!--CRLF--><pre> </pre><!--CRLF--><pre><span>' Set the new default VM path</span></pre><!--CRLF--><pre>vpc.DefaultVMConfigurationPath = defaultVMPath</pre><!--CRLF--><pre> </pre><!--CRLF--><pre>WScript.Echo</pre><!--CRLF--></div></div>
<p>&#160;</p>
<p>&#160;</p>
<p>Note that while these scripts will set the default location – if the user chooses a different location when creating a new virtual machine, that location will become the new default virtual machine location.&#160; </p>
<p>This means that these scripts are only really useful for customizing an initial deployment of Windows Virtual PC.&#160; Alternatively you could run these scripts on logon to set the default path back to your desired location.</p>
<p>Cheers, <br />Ben</p><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10006045" width="1" height="1"/>]]></description>
			<content:encoded><![CDATA[<div style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FLOAT: none; PADDING-TOP: 0px" class=wlWriterHeaderFooter>
<script type=text/javascript>
tweetmeme_url = 'http://blogs.msdn.com/virtual_pc_guy/archive/2010/05/05/managing-the-default-virtual-machine-location-with-windows-virtual-pc.aspx';
</script>

<script type=text/javascript src="http://tweetmeme.com/i/scripts/button.js" mce_src="http://tweetmeme.com/i/scripts/button.js"></script>
<br /><br /></div>
<p>Virtual PC 2004 / 2007 always default to creating new virtual machines in the current users “My Documents” folder.&nbsp; Users who need to use an alternate location can do so by setting up the <a href="http://blogs.msdn.com/virtual_pc_guy/archive/2005/04/13/407796.aspx"  mce_href="http://blogs.msdn.com/virtual_pc_guy/archive/2005/04/13/407796.aspx">MYVIRTUALMACHINES environment variable</a>.</p>
<p>Things have changed significantly with Windows Virtual PC.</p>
<p>The first change is that we no longer look at the MYVIRTUALMACHINES environment variable.</p>
<p>The second change is that we no longer enforce a static default location.&nbsp; Rather – every time you create a new virtual machine – the location that you specify for the new virtual machine:</p>
<p><a href="http://blogs.msdn.com/blogfiles/virtual_pc_guy/WindowsLiveWriter/ManagingtheDefaultVirtualMachineLocation_E821/image_2.png"  mce_href="http://blogs.msdn.com/blogfiles/virtual_pc_guy/WindowsLiveWriter/ManagingtheDefaultVirtualMachineLocation_E821/image_2.png"><img style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/virtual_pc_guy/WindowsLiveWriter/ManagingtheDefaultVirtualMachineLocation_E821/image_thumb.png" width=532 height=382 mce_src="http://blogs.msdn.com/blogfiles/virtual_pc_guy/WindowsLiveWriter/ManagingtheDefaultVirtualMachineLocation_E821/image_thumb.png"/></a> </p>
<p>Will be used as the default virtual machine location the next time you try to create a virtual machine.</p>
<p>Finally – if you do want to programmatically set a default location you can do so using some simple scripts:</p>
<p>PowerShell:</p>
<div style="BORDER-BOTTOM: silver 1px solid; TEXT-ALIGN: left; BORDER-LEFT: silver 1px solid; PADDING-BOTTOM: 4px; LINE-HEIGHT: 12pt; BACKGROUND-COLOR: #f4f4f4; MARGIN: 20px 0px 10px; PADDING-LEFT: 4px; WIDTH: 97.5%; PADDING-RIGHT: 4px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; MAX-HEIGHT: 20000px; FONT-SIZE: 8pt; OVERFLOW: auto; BORDER-TOP: silver 1px solid; CURSOR: text; BORDER-RIGHT: silver 1px solid; PADDING-TOP: 4px" id=codeSnippetWrapper>
<div style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px" id=codeSnippet><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">param</span>([string]$path)</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #008000"># Check for correct command-line arguments</span></pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">If ($path <span style="COLOR: #cc6633">-eq</span> <span style="COLOR: #006080">""</span>)</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> {</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> write-host <span style="COLOR: #006080">"Missing command-line argument."</span></pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> write-host <span style="COLOR: #006080">"USage: SetDefaultVMPath.ps1 -path `"</span>Default path to use <span style="COLOR: #0000ff">for</span> new virtual machines`<span style="COLOR: #006080">""</span></pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> exit</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> }</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #008000"># Connect to Virtual PC</span></pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">$vpc=new-object –com VirtualPC.Application –Strict</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #008000"># Set the new default VM path</span></pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">$vpc.DefaultVMConfigurationPath = $path</pre><!--CRLF--></div></div>
<p>VBScript:</p>
<div style="BORDER-BOTTOM: silver 1px solid; TEXT-ALIGN: left; BORDER-LEFT: silver 1px solid; PADDING-BOTTOM: 4px; LINE-HEIGHT: 12pt; BACKGROUND-COLOR: #f4f4f4; MARGIN: 20px 0px 10px; PADDING-LEFT: 4px; WIDTH: 97.5%; PADDING-RIGHT: 4px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; MAX-HEIGHT: 20000px; FONT-SIZE: 8pt; OVERFLOW: auto; BORDER-TOP: silver 1px solid; CURSOR: text; BORDER-RIGHT: silver 1px solid; PADDING-TOP: 4px" id=codeSnippetWrapper>
<div style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px" id=codeSnippet><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">Option</span> Explicit</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">Dim</span> namedArguments, vpc, defaultVMPath</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #008000">' Check that the script is running at the command line.</span></pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">If</span> UCase(Right(Wscript.FullName, 11)) = <span style="COLOR: #006080">"WSCRIPT.EXE"</span> <span style="COLOR: #0000ff">Then</span></pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> WScript.Echo <span style="COLOR: #006080">"This script must be run under CScript."</span></pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> WScript.Quit</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">End</span> <span style="COLOR: #0000ff">If</span></pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #008000">' Get the new default VM path from the command-line arguments</span></pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">Set</span> namedArguments = WScript.Arguments.Named</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">If</span> namedArguments.Exists(<span style="COLOR: #006080">"path"</span>) <span style="COLOR: #0000ff">Then</span></pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> defaultVMPath = namedArguments.Item(<span style="COLOR: #006080">"path"</span>)</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">Else</span></pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> WScript.Echo <span style="COLOR: #006080">"Missing command-line argument"</span></pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> WScript.Echo</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> WScript.Echo <span style="COLOR: #006080">"Usage: SetDefaultVMPath.vbs /path:"</span> &amp; chr(34) &amp; <span style="COLOR: #006080">"Default path to use for new virtual machines"</span> &amp; chr(34)</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> WScript.Echo</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> WScript.Quit</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">End</span> <span style="COLOR: #0000ff">If</span></pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #008000">' Attempt to connect to Virtual PC</span></pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">On</span> <span style="COLOR: #0000ff">Error</span> <span style="COLOR: #0000ff">Resume</span> <span style="COLOR: #0000ff">Next</span></pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">Set</span> vpc = CreateObject(<span style="COLOR: #006080">"VirtualPC.Application"</span>)</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">If</span> Err.Number &lt;&gt; 0 <span style="COLOR: #0000ff">Then</span></pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> WScript.Echo <span style="COLOR: #006080">"Unable to connect to Virtual PC."</span></pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> WScript.Quit</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">End</span> <span style="COLOR: #0000ff">if</span></pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #0000ff">On</span> <span style="COLOR: #0000ff">Error</span> <span style="COLOR: #0000ff">Goto</span> 0</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"><span style="COLOR: #008000">' Set the new default VM path</span></pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">vpc.DefaultVMConfigurationPath = defaultVMPath</pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"> </pre><!--CRLF--><pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px">WScript.Echo</pre><!--CRLF--></div></div>
<p mce_keep="true">&nbsp;</p>
<p mce_keep="true">&nbsp;</p>
<p>Note that while these scripts will set the default location – if the user chooses a different location when creating a new virtual machine, that location will become the new default virtual machine location.&nbsp; </p>
<p>This means that these scripts are only really useful for customizing an initial deployment of Windows Virtual PC.&nbsp; Alternatively you could run these scripts on logon to set the default path back to your desired location.</p>
<p>Cheers, <br />Ben</p><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10006045" width="1" height="1"/>]]></content:encoded>
			<wfw:commentRss>http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/05/05/managing-the-default-virtual-machine-location-with-windows-virtual-pc.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Components-PostAttachments/00-10-00-60-45/SetDefaultVMPathsScripts.zip" length="1128" type="application/x-zip-compressed" />
		</item>
		<item>
		<title>Windows Virtual PC and Screen Resizing</title>
		<link>http://blogs.msdn.com/virtual_pc_guy/archive/2010/03/25/windows-virtual-pc-and-screen-resizing.aspx</link>
		<comments>http://blogs.msdn.com/virtual_pc_guy/archive/2010/03/25/windows-virtual-pc-and-screen-resizing.aspx#comments</comments>
		<pubDate>Thu, 25 Mar 2010 22:42:00 +0000</pubDate>
		<dc:creator>Virtual PC Guy</dc:creator>
				<category><![CDATA[Hyper-V]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[Windows Virtual PC]]></category>
		<category><![CDATA[Virtualization]]></category>

		<guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9978407</guid>
		<description><![CDATA[<div class="wlWriterHeaderFooter">

tweetmeme_url = 'http://blogs.msdn.com/virtual_pc_guy/archive/2010/03/19/windows-virtual-pc-and-screen-resizing.aspx';



<br /><br /></div>
<p>For as long as I can remember – Virtual PC has allowed you to resize the virtual machine window and have the guest operating system change its screen resolution automatically.&#160; The way this is done is that once you finish resizing the virtual machine window, we send a message into an integration service inside the virtual machine that in turn requests a desktop resolution change, just like a user changing the desktop resolution manually.</p>
<p>This works because of the excellent support in Windows for changing screen resolutions on the fly*.</p>
<p>Unfortunately, Remote Desktop (which is <a href="http://blogs.msdn.com/virtual_pc_guy/archive/2009/06/17/what-is-integrated-mode-in-windows-virtual-pc.aspx" target="_blank">used by Windows Virtual PC</a>) does not support changing screen resolutions on the fly.&#160; In order to maintain the same level of functionality in Windows Virtual PC as with earlier versions of Virtual PC a new approach had do be tried.</p>
<p>If you do not have integrated mode enabled we continue to change the guest operating system desktop resolution like we always have.&#160; If you do have integrated mode enabled we will instead break the Remote Desktop connection and create a new one at the new window resolution.</p>
<p>The can be a bit disconcerting – as it is not uncommon to see a momentary login screen while the new connection is created.&#160; But you can rest assured that there is no potential for data loss / application disruption.&#160; An easy way to think of this is to imagine what happens if you are using Remote Desktop to connect to a physical computer and the network gets disconnected – forcing you to reconnect to the remote computer.&#160; When this happens everything will be just as you left it – because Windows maintains your login session even though you are not connected.&#160; The same thing happens with Windows Virtual PC.</p>
<p>The important thing here is that even though different methods are used, whether you have integrated mode enabled or not you can always easily resize the virtual machine window and have the guest operating system adapt to your new window size.</p>
<blockquote>
<p>* A little side story here.&#160; When I started working at Connectix as a tester on Virtual PC I remember seeing a number of interesting bugs with virtual machine screen resizing which were a result of the fact that support for changing screen resolutions without reboot was not very reliable in Windows 95.&#160; Thankfully all of these issues were sorted out by Windows 98 and this has been rock solid for every Windows release since then.</p></blockquote>
<p>Cheers, <br />Ben</p><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9978407" width="1" height="1"/>]]></description>
			<content:encoded><![CDATA[<div style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FLOAT: none; PADDING-TOP: 0px" class=wlWriterHeaderFooter>
<script type=text/javascript>
tweetmeme_url = 'http://blogs.msdn.com/virtual_pc_guy/archive/2010/03/19/windows-virtual-pc-and-screen-resizing.aspx';
</script>

<script type=text/javascript src="http://tweetmeme.com/i/scripts/button.js" mce_src="http://tweetmeme.com/i/scripts/button.js"></script>
<br /><br /></div>
<p>For as long as I can remember – Virtual PC has allowed you to resize the virtual machine window and have the guest operating system change its screen resolution automatically.&nbsp; The way this is done is that once you finish resizing the virtual machine window, we send a message into an integration service inside the virtual machine that in turn requests a desktop resolution change, just like a user changing the desktop resolution manually.</p>
<p>This works because of the excellent support in Windows for changing screen resolutions on the fly*.</p>
<p>Unfortunately, Remote Desktop (which is <a href="http://blogs.msdn.com/virtual_pc_guy/archive/2009/06/17/what-is-integrated-mode-in-windows-virtual-pc.aspx"  mce_href="http://blogs.msdn.com/virtual_pc_guy/archive/2009/06/17/what-is-integrated-mode-in-windows-virtual-pc.aspx">used by Windows Virtual PC</a>) does not support changing screen resolutions on the fly.&nbsp; In order to maintain the same level of functionality in Windows Virtual PC as with earlier versions of Virtual PC a new approach had do be tried.</p>
<p>If you do not have integrated mode enabled we continue to change the guest operating system desktop resolution like we always have.&nbsp; If you do have integrated mode enabled we will instead break the Remote Desktop connection and create a new one at the new window resolution.</p>
<p>The can be a bit disconcerting – as it is not uncommon to see a momentary login screen while the new connection is created.&nbsp; But you can rest assured that there is no potential for data loss / application disruption.&nbsp; An easy way to think of this is to imagine what happens if you are using Remote Desktop to connect to a physical computer and the network gets disconnected – forcing you to reconnect to the remote computer.&nbsp; When this happens everything will be just as you left it – because Windows maintains your login session even though you are not connected.&nbsp; The same thing happens with Windows Virtual PC.</p>
<p>The important thing here is that even though different methods are used, whether you have integrated mode enabled or not you can always easily resize the virtual machine window and have the guest operating system adapt to your new window size.</p>
<blockquote>
<p>* A little side story here.&nbsp; When I started working at Connectix as a tester on Virtual PC I remember seeing a number of interesting bugs with virtual machine screen resizing which were a result of the fact that support for changing screen resolutions without reboot was not very reliable in Windows 95.&nbsp; Thankfully all of these issues were sorted out by Windows 98 and this has been rock solid for every Windows release since then.</p></blockquote>
<p>Cheers, <br />Ben</p><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9978407" width="1" height="1"/>]]></content:encoded>
			<wfw:commentRss>http://blogs.msdn.com/virtual_pc_guy/archive/2010/03/25/windows-virtual-pc-and-screen-resizing.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Virtual PC Everywhere – Part 2</title>
		<link>http://blogs.msdn.com/virtual_pc_guy/archive/2010/03/23/windows-virtual-pc-everywhere-part-2.aspx</link>
		<comments>http://blogs.msdn.com/virtual_pc_guy/archive/2010/03/23/windows-virtual-pc-everywhere-part-2.aspx#comments</comments>
		<pubDate>Tue, 23 Mar 2010 23:25:00 +0000</pubDate>
		<dc:creator>Virtual PC Guy</dc:creator>
				<category><![CDATA[Hyper-V]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[Windows Server 2008 R2]]></category>
		<category><![CDATA[Windows Virtual PC]]></category>
		<category><![CDATA[Windows XP Mode]]></category>
		<category><![CDATA[Virtualization]]></category>

		<guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9982439</guid>
		<description><![CDATA[<div class="wlWriterHeaderFooter">

tweetmeme_url = 'http://blogs.msdn.com/virtual_pc_guy/archive/2010/03/22/windows-virtual-pc-everywhere-part-2.aspx';



<br /><br /></div>
<p>Continuing in my theme of running <a href="http://blogs.msdn.com/virtual_pc_guy/archive/2010/03/19/windows-virtual-pc-everywhere.aspx" target="_blank">Windows Virtual PC everywhere</a> – I think it is time to provide an update on my <a href="http://blogs.msdn.com/virtual_pc_guy/archive/2008/01/04/running-virtual-pc-under-hyper-v-beta.aspx" target="_blank">Virtual PC on Hyper-V post</a> from just over 2 years ago.&#160; So here is the updated Windows XP Mode on Windows Virtual PC on Windows 7 on Hyper-V on Windows Server 2008 R2 screenshot:</p>
<p><a href="http://blogs.msdn.com/blogfiles/virtual_pc_guy/WindowsLiveWriter/WindowsVirtualPCEverywherePart2_E73E/recursion.png"><img border="0" alt="recursion" src="http://blogs.msdn.com/blogfiles/virtual_pc_guy/WindowsLiveWriter/WindowsVirtualPCEverywherePart2_E73E/recursion_thumb.png" width="535" height="429"/></a> </p>
<p>The the same caveats from two years ago still apply:</p>
<ul>
<li>Booting through the BIOS of Virtual PC is quite slow.&#160; Expect to wait for ~1 minute before the guest OS gets up and running. </li>
<li>Get the Integration Components installed as quickly as possible - it really makes things much faster (for fairly obvious reasons Virtual PC cannot use hardware virtualization in this configuration). </li>
<li>This is in no way supported! If you try this an find an interesting bug - feel free to send me a message but please do not call Microsoft Product Support!</li></ul>
<p>Cheers, <br />Ben</p><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9982439" width="1" height="1"/>]]></description>
			<content:encoded><![CDATA[<div style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FLOAT: none; PADDING-TOP: 0px" class=wlWriterHeaderFooter>
<script type=text/javascript>
tweetmeme_url = 'http://blogs.msdn.com/virtual_pc_guy/archive/2010/03/22/windows-virtual-pc-everywhere-part-2.aspx';
</script>

<script type=text/javascript src="http://tweetmeme.com/i/scripts/button.js" mce_src="http://tweetmeme.com/i/scripts/button.js"></script>
<br /><br /></div>
<p>Continuing in my theme of running <a href="http://blogs.msdn.com/virtual_pc_guy/archive/2010/03/19/windows-virtual-pc-everywhere.aspx"  mce_href="http://blogs.msdn.com/virtual_pc_guy/archive/2010/03/19/windows-virtual-pc-everywhere.aspx">Windows Virtual PC everywhere</a> – I think it is time to provide an update on my <a href="http://blogs.msdn.com/virtual_pc_guy/archive/2008/01/04/running-virtual-pc-under-hyper-v-beta.aspx"  mce_href="http://blogs.msdn.com/virtual_pc_guy/archive/2008/01/04/running-virtual-pc-under-hyper-v-beta.aspx">Virtual PC on Hyper-V post</a> from just over 2 years ago.&nbsp; So here is the updated Windows XP Mode on Windows Virtual PC on Windows 7 on Hyper-V on Windows Server 2008 R2 screenshot:</p>
<p><a href="http://blogs.msdn.com/blogfiles/virtual_pc_guy/WindowsLiveWriter/WindowsVirtualPCEverywherePart2_E73E/recursion.png" mce_href="http://blogs.msdn.com/blogfiles/virtual_pc_guy/WindowsLiveWriter/WindowsVirtualPCEverywherePart2_E73E/recursion.png"><img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=recursion border=0 alt=recursion src="http://blogs.msdn.com/blogfiles/virtual_pc_guy/WindowsLiveWriter/WindowsVirtualPCEverywherePart2_E73E/recursion_thumb.png" width=535 height=429 mce_src="http://blogs.msdn.com/blogfiles/virtual_pc_guy/WindowsLiveWriter/WindowsVirtualPCEverywherePart2_E73E/recursion_thumb.png"/></a> </p>
<p>The the same caveats from two years ago still apply:</p>
<ul>
<li>Booting through the BIOS of Virtual PC is quite slow.&nbsp; Expect to wait for ~1 minute before the guest OS gets up and running. </li>
<li>Get the Integration Components installed as quickly as possible - it really makes things much faster (for fairly obvious reasons Virtual PC cannot use hardware virtualization in this configuration). </li>
<li>This is in no way supported! If you try this an find an interesting bug - feel free to send me a message but please do not call Microsoft Product Support!</li></ul>
<p>Cheers, <br />Ben</p><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9982439" width="1" height="1"/>]]></content:encoded>
			<wfw:commentRss>http://blogs.msdn.com/virtual_pc_guy/archive/2010/03/23/windows-virtual-pc-everywhere-part-2.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Virtual PC Update – Remember to Upgrade Integration Components</title>
		<link>http://blogs.msdn.com/virtual_pc_guy/archive/2010/03/22/windows-virtual-pc-update-remember-to-upgrade-integration-components.aspx</link>
		<comments>http://blogs.msdn.com/virtual_pc_guy/archive/2010/03/22/windows-virtual-pc-update-remember-to-upgrade-integration-components.aspx#comments</comments>
		<pubDate>Mon, 22 Mar 2010 22:59:00 +0000</pubDate>
		<dc:creator>Virtual PC Guy</dc:creator>
				<category><![CDATA[Hyper-V]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[Windows Virtual PC]]></category>
		<category><![CDATA[Windows XP Mode]]></category>
		<category><![CDATA[Virtualization]]></category>

		<guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9982437</guid>
		<description><![CDATA[<div class="wlWriterHeaderFooter" style="float:none;margin:0px;padding:0px 0px 0px 0px">
tweetmeme_url = 'http://blogs.msdn.com/virtual_pc_guy/archive/2010/03/22/windows-virtual-pc-update-remember-to-upgrade-integration-components.aspx';

<br /><br /></div><p>A couple of people have contacted me and reported performance issues with Windows XP Mode on systems without hardware virtualization support.&#160; One thing that I did not mention <a href="http://blogs.msdn.com/virtual_pc_guy/archive/2010/03/18/windows-virtual-pc-no-hardware-virtualization-update-now-available-for-download.aspx" target="_blank">in my post last week</a> was that you will need to upgrade the integration components on the Windows XP virtual machine after applying the update to the physical computer.</p>  <p>You can do this by:</p>  <ol>   <li>Boot the Windows XP virtual machine</li>    <li>Login to the virtual machine with an administrative account</li>    <li>Open the <strong>Tools</strong> menu on the virtual machine window</li>    <li>Select <strong>Upgrade Integration Components</strong></li> </ol>  <p>At this stage the integration components installer should start automatically – and will require a reboot when it is finished.</p>  <p>You can check to make sure you have the right version of the integration components installed by:</p>  <ol>   <li>Boot the Windows XP virtual machine</li>    <li>Login to the virtual machine with an administrative account</li>    <li>Open the <strong>Start menu</strong></li>    <li>Open the <strong>Control Panel</strong></li>    <li>Open <strong>Add or Remove Programs</strong></li>    <li>Click on the entry for <strong>Virtual PC Integration Components</strong></li>    <li>Click on the <strong>Click here for support information. </strong>link</li> </ol>  <p>The version number is displayed on the dialog that is now opened.&#160; Windows XP Mode ships with version 14.0.7600.16392 of the integration components.&#160; After the upgrade you should have version 14.1.7600.16403 – like this:</p>  <p><a href="http://blogs.msdn.com/blogfiles/virtual_pc_guy/WindowsLiveWriter/WindowsVirtualPCUpdateRemembertoUpgradeI_E113/image_2.png" target="_blank"><img style="border-bottom: 0px;border-left: 0px;border-top: 0px;border-right: 0px" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/virtual_pc_guy/WindowsLiveWriter/WindowsVirtualPCUpdateRemembertoUpgradeI_E113/image_thumb.png" width="412" height="334" /></a> </p>  <p>Cheers,   <br />Ben</p><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9982437" width="1" height="1"/>]]></description>
			<content:encoded><![CDATA[<div class="wlWriterHeaderFooter" style="float:none; margin:0px; padding:0px 0px 0px 0px;"><script type="text/javascript">
tweetmeme_url = 'http://blogs.msdn.com/virtual_pc_guy/archive/2010/03/22/windows-virtual-pc-update-remember-to-upgrade-integration-components.aspx';
</script>
<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script><br /><br /></div><p>A couple of people have contacted me and reported performance issues with Windows XP Mode on systems without hardware virtualization support.&#160; One thing that I did not mention <a href="http://blogs.msdn.com/virtual_pc_guy/archive/2010/03/18/windows-virtual-pc-no-hardware-virtualization-update-now-available-for-download.aspx" >in my post last week</a> was that you will need to upgrade the integration components on the Windows XP virtual machine after applying the update to the physical computer.</p>  <p>You can do this by:</p>  <ol>   <li>Boot the Windows XP virtual machine</li>    <li>Login to the virtual machine with an administrative account</li>    <li>Open the <strong>Tools</strong> menu on the virtual machine window</li>    <li>Select <strong>Upgrade Integration Components</strong></li> </ol>  <p>At this stage the integration components installer should start automatically – and will require a reboot when it is finished.</p>  <p>You can check to make sure you have the right version of the integration components installed by:</p>  <ol>   <li>Boot the Windows XP virtual machine</li>    <li>Login to the virtual machine with an administrative account</li>    <li>Open the <strong>Start menu</strong></li>    <li>Open the <strong>Control Panel</strong></li>    <li>Open <strong>Add or Remove Programs</strong></li>    <li>Click on the entry for <strong>Virtual PC Integration Components</strong></li>    <li>Click on the <strong>Click here for support information. </strong>link</li> </ol>  <p>The version number is displayed on the dialog that is now opened.&#160; Windows XP Mode ships with version 14.0.7600.16392 of the integration components.&#160; After the upgrade you should have version 14.1.7600.16403 – like this:</p>  <p><a href="http://blogs.msdn.com/blogfiles/virtual_pc_guy/WindowsLiveWriter/WindowsVirtualPCUpdateRemembertoUpgradeI_E113/image_2.png" ><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/virtual_pc_guy/WindowsLiveWriter/WindowsVirtualPCUpdateRemembertoUpgradeI_E113/image_thumb.png" width="412" height="334" /></a> </p>  <p>Cheers,   <br />Ben</p><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9982437" width="1" height="1"/>]]></content:encoded>
			<wfw:commentRss>http://blogs.msdn.com/virtual_pc_guy/archive/2010/03/22/windows-virtual-pc-update-remember-to-upgrade-integration-components.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Virtual PC Everywhere</title>
		<link>http://blogs.msdn.com/virtual_pc_guy/archive/2010/03/19/windows-virtual-pc-everywhere.aspx</link>
		<comments>http://blogs.msdn.com/virtual_pc_guy/archive/2010/03/19/windows-virtual-pc-everywhere.aspx#comments</comments>
		<pubDate>Fri, 19 Mar 2010 20:20:56 +0000</pubDate>
		<dc:creator>Virtual PC Guy</dc:creator>
				<category><![CDATA[Hyper-V]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[Windows Virtual PC]]></category>
		<category><![CDATA[Virtualization]]></category>

		<guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9982090</guid>
		<description><![CDATA[<div class="wlWriterHeaderFooter" style="float:none;margin:0px;padding:0px 0px 0px 0px">
tweetmeme_url = 'http://blogs.msdn.com/virtual_pc_guy/archive/2010/03/19/windows-virtual-pc-everywhere.aspx';

<br /><br /></div><p>With our recent update to Windows Virtual PC that allows it to run on systems without hardware virtualization support – I have been flooded by a stream of people asking what hardware it will run on / if it will run on their system.</p>  <p>The short answer is: If it can run Windows 7, it can run Windows Virtual PC.&#160; Note that Windows 7 has a requirement of needing a 1GHz processor – so that should help you qualify your system.</p>  <p>To drive this point home, I provide the following bit of evidence:</p>  <p><a href="http://blogs.msdn.com/blogfiles/virtual_pc_guy/WindowsLiveWriter/WindowsVirtualPCEverywhere_BBB1/DSCN170Medium_2.jpg" target="_blank"><img style="border-bottom: 0px;border-left: 0px;border-top: 0px;border-right: 0px" border="0" alt="" src="http://blogs.msdn.com/blogfiles/virtual_pc_guy/WindowsLiveWriter/WindowsVirtualPCEverywhere_BBB1/DSCN170Medium_thumb.jpg" width="423" height="329" /></a></p>  <p>This is a photo of OS/2 Warp 3 running on Windows Virtual PC on Windows 7 on my <a href="http://www.dell.com/content/products/productdetails.aspx/laptop-vostro-a90" target="_blank">Dell Vostro A90</a> netbook (the Vostro A90 is basically the business version of the Dell Mini 9).&#160; This is a system with an <a href="http://processorfinder.intel.com/details.aspx?sSpec=SLB73" target="_blank">Intel Atom N270 processor</a> – which means it runs at 1.60 GHz and has no hardware virtualization support.</p>  <p>And as you can see – it works just fine.</p>  <p>Cheers,   <br />Ben</p>  <p>P.S. Friday afternoon nerd challenge: Can you identify all the hardware that is sitting in the background / around the netbook?</p><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9982090" width="1" height="1"/>]]></description>
			<content:encoded><![CDATA[<div class="wlWriterHeaderFooter" style="float:none; margin:0px; padding:0px 0px 0px 0px;"><script type="text/javascript">
tweetmeme_url = 'http://blogs.msdn.com/virtual_pc_guy/archive/2010/03/19/windows-virtual-pc-everywhere.aspx';
</script>
<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script><br /><br /></div><p>With our recent update to Windows Virtual PC that allows it to run on systems without hardware virtualization support – I have been flooded by a stream of people asking what hardware it will run on / if it will run on their system.</p>  <p>The short answer is: If it can run Windows 7, it can run Windows Virtual PC.&#160; Note that Windows 7 has a requirement of needing a 1GHz processor – so that should help you qualify your system.</p>  <p>To drive this point home, I provide the following bit of evidence:</p>  <p><a href="http://blogs.msdn.com/blogfiles/virtual_pc_guy/WindowsLiveWriter/WindowsVirtualPCEverywhere_BBB1/DSCN170Medium_2.jpg" ><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="" border="0" alt="" src="http://blogs.msdn.com/blogfiles/virtual_pc_guy/WindowsLiveWriter/WindowsVirtualPCEverywhere_BBB1/DSCN170Medium_thumb.jpg" width="423" height="329" /></a></p>  <p>This is a photo of OS/2 Warp 3 running on Windows Virtual PC on Windows 7 on my <a href="http://www.dell.com/content/products/productdetails.aspx/laptop-vostro-a90" >Dell Vostro A90</a> netbook (the Vostro A90 is basically the business version of the Dell Mini 9).&#160; This is a system with an <a href="http://processorfinder.intel.com/details.aspx?sSpec=SLB73" >Intel Atom N270 processor</a> – which means it runs at 1.60 GHz and has no hardware virtualization support.</p>  <p>And as you can see – it works just fine.</p>  <p>Cheers,   <br />Ben</p>  <p>P.S. Friday afternoon nerd challenge: Can you identify all the hardware that is sitting in the background / around the netbook?</p><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9982090" width="1" height="1"/>]]></content:encoded>
			<wfw:commentRss>http://blogs.msdn.com/virtual_pc_guy/archive/2010/03/19/windows-virtual-pc-everywhere.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Virtual PC – no hardware virtualization update now available for download</title>
		<link>http://blogs.msdn.com/virtual_pc_guy/archive/2010/03/18/windows-virtual-pc-no-hardware-virtualization-update-now-available-for-download.aspx</link>
		<comments>http://blogs.msdn.com/virtual_pc_guy/archive/2010/03/18/windows-virtual-pc-no-hardware-virtualization-update-now-available-for-download.aspx#comments</comments>
		<pubDate>Thu, 18 Mar 2010 18:59:00 +0000</pubDate>
		<dc:creator>Virtual PC Guy</dc:creator>
				<category><![CDATA[Hyper-V]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[Windows Virtual PC]]></category>
		<category><![CDATA[Windows XP Mode]]></category>
		<category><![CDATA[Virtualization]]></category>

		<guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9981342</guid>
		<description><![CDATA[<div class="wlWriterHeaderFooter">

tweetmeme_url = 'http://blogs.msdn.com/virtual_pc_guy/archive/2010/03/18/windows-virtual-pc-no-hardware-virtualization-update-now-available-for-download.aspx';



<br /><br /></div>
<p>The update to Windows Virtual PC to support running on systems without hardware virtualization is now available for download.&#160; You can grab it here:</p>
<ul>
<li>For 32-bit host operating systems: <a title="http://www.microsoft.com/downloads/details.aspx?FamilyID=837f12aa-1d37-464e-ae59-20c9ecbebaf6" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=837f12aa-1d37-464e-ae59-20c9ecbebaf6">http://www.microsoft.com/downloads/details.aspx?FamilyID=837f12aa-1d37-464e-ae59-20c9ecbebaf6</a></li>
<li>For 64-bit host operating systems: <a title="http://www.microsoft.com/downloads/details.aspx?FamilyID=e70dd043-e262-43c0-a002-446567f1e2b4" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=e70dd043-e262-43c0-a002-446567f1e2b4">http://www.microsoft.com/downloads/details.aspx?FamilyID=e70dd043-e262-43c0-a002-446567f1e2b4</a></li></ul>
<p>You can also read the full KB article here: <a title="http://support.microsoft.com/kb/977206" href="http://support.microsoft.com/kb/977206">http://support.microsoft.com/kb/977206</a></p>
<p>One thing to note: While Microsoft supports the use of Windows XP, Windows Vista and Windows 7 on Windows Virtual PC – when running on systems without hardware virtualization support we only support the use of Windows XP.</p>
<p>So what does this mean?&#160; Well, if you have used Virtual PC before you know that it is capable of running many operating systems that are not officially supported – and this is still true for Windows Virtual PC (both with and without hardware virtualization support).&#160; But we will not be releasing updated integration components for Windows 7 / Windows Vista to enable optimum performance when running without hardware virtualization.</p>
<p>The key take away here is: If you need to run Windows XP mode on systems without hardware virtualization, you now can.&#160; If you want to run other operating systems – you need hardware virtualization support for best performance (and official support from Microsoft).</p>
<p>Cheers, <br />Ben</p><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9981342" width="1" height="1"/>]]></description>
			<content:encoded><![CDATA[<div style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FLOAT: none; PADDING-TOP: 0px" class=wlWriterHeaderFooter>
<script type=text/javascript>
tweetmeme_url = 'http://blogs.msdn.com/virtual_pc_guy/archive/2010/03/18/windows-virtual-pc-no-hardware-virtualization-update-now-available-for-download.aspx';
</script>

<script type=text/javascript src="http://tweetmeme.com/i/scripts/button.js" mce_src="http://tweetmeme.com/i/scripts/button.js"></script>
<br /><br /></div>
<p>The update to Windows Virtual PC to support running on systems without hardware virtualization is now available for download.&nbsp; You can grab it here:</p>
<ul>
<li>For 32-bit host operating systems: <a title=http://www.microsoft.com/downloads/details.aspx?FamilyID=837f12aa-1d37-464e-ae59-20c9ecbebaf6 href="http://www.microsoft.com/downloads/details.aspx?FamilyID=837f12aa-1d37-464e-ae59-20c9ecbebaf6" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=837f12aa-1d37-464e-ae59-20c9ecbebaf6">http://www.microsoft.com/downloads/details.aspx?FamilyID=837f12aa-1d37-464e-ae59-20c9ecbebaf6</a></li>
<li>For 64-bit host operating systems: <a title=http://www.microsoft.com/downloads/details.aspx?FamilyID=e70dd043-e262-43c0-a002-446567f1e2b4 href="http://www.microsoft.com/downloads/details.aspx?FamilyID=e70dd043-e262-43c0-a002-446567f1e2b4" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=e70dd043-e262-43c0-a002-446567f1e2b4">http://www.microsoft.com/downloads/details.aspx?FamilyID=e70dd043-e262-43c0-a002-446567f1e2b4</a></li></ul>
<p>You can also read the full KB article here: <a title=http://support.microsoft.com/kb/977206 href="http://support.microsoft.com/kb/977206" mce_href="http://support.microsoft.com/kb/977206">http://support.microsoft.com/kb/977206</a></p>
<p>One thing to note: While Microsoft supports the use of Windows XP, Windows Vista and Windows 7 on Windows Virtual PC – when running on systems without hardware virtualization support we only support the use of Windows XP.</p>
<p>So what does this mean?&nbsp; Well, if you have used Virtual PC before you know that it is capable of running many operating systems that are not officially supported – and this is still true for Windows Virtual PC (both with and without hardware virtualization support).&nbsp; But we will not be releasing updated integration components for Windows 7 / Windows Vista to enable optimum performance when running without hardware virtualization.</p>
<p>The key take away here is: If you need to run Windows XP mode on systems without hardware virtualization, you now can.&nbsp; If you want to run other operating systems – you need hardware virtualization support for best performance (and official support from Microsoft).</p>
<p>Cheers, <br />Ben</p><img src="http://blogs.msdn.com/aggbug.aspx?PostID=9981342" width="1" height="1"/>]]></content:encoded>
			<wfw:commentRss>http://blogs.msdn.com/virtual_pc_guy/archive/2010/03/18/windows-virtual-pc-no-hardware-virtualization-update-now-available-for-download.aspx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
