Sunday, February 03, 2013

Windows 8 vs Windows 7...

Back in the latter half of October 2012 I decided to upgrade my workhorse computer to Windows 8, after all for $40.00 how could a body go wrong???  

Well, I'll tell you... The dirty little secret Microsoft didn't tell me when I ran the compatibility testing application prior to Windows 8 being installed is that Windows 8 doesn't support the use of virtual machines created using the free XP Mode available in Windows 7 Professional and higher. 

Why is this an issue? Because my programming language and software development environment of choice, Clarion from SoftVelocity is only a 16 bit environment (it creates 32 bit applications). As such, it will not run in a Windows 7 64 bit operating system. When I first started using Windows 7 64 bit a couple of years ago, I created my XP Mode virtual machine using the Virtual PC environment from Microsoft. It has served me extremely well as I not only do development in Windows, but I also maintain several DOS based applications that were created with earlier, much older development tools, including Clarion 2.110 and Clarion for DOS 3.102.

Naturally, I was plenty peeved at Microsoft for unceremoniously informing me that my virtual environment would not run under Windows 8. When attempting to identify what I could actually do about the problem, I found there was no way they provided an 'upgrade' avenue to convert my Virtual PC virtual machines to the new Hyper-V technology. 

Shame on you Microsoft. 

There are many thousands of businesses and individuals out there who use XP Mode in order to run legacy applications crucial to their businesses or personal use. 

As a result, I had to do a fair bit of juggling around some things on my hard drives (while at the same time re-organizing my office) and it cost me nearly a month's worth of time. 

I was finally able to get the second 200 GB IDE PATA hard disk in my machine (where I had been storing my virtual machines) cleared off and I then re-installed Windows 7 Professional. I quickly found that even though I had created the necessary 'base' XP virtual hard disk, I could not access the virtual hard disk from my previous XP Mode virtual environment. I think it had something to do with permissions. 

As a result, I did a little monkeying around with it and I was finally able to log into the old XP virtual machine and move all of the programming and source code files out of the virtual machine onto another one of my hard drives in my 4 terabyte array of storage. I was also able to export the requisite registry entries for the software I had installed as well as I knew I would probably need them in the new XP mode virtual machine. 

Next, I created a new XP Mode environment in my new Windows 7 Professional installation and did a main install of my Clarion 6.3 development environment.  I then copied my old Clarion 6.3 files with all of my updated templates and settings over the install and everything seemed to be working after that. But the big wrinkle was it was still only running under Microsoft's Virtual PC virtual machine environment. 

I wanted dearly to convert it to VMWare or VirtualBox instead, as I would then be able to run the virtual machine under Windows 8 instead. 

Unfortunately, the way XP Mode works, it seemed like it wasn't going to be in the cards... until last night.

VMWare has a program called vCenter Converter Standalone that will allow you to convert an installation of Windows XP (installed on a desktop or a laptop) or import an XP Mode virtual machine and create a new VMWare virtual machine.

So in the continuing saga of my Windows 8 vs Windows 7 / XP Mode compatibility battle I was finally able to convert my XP Mode virtual machine (which uses Microsoft Virtual PC virtualization software) to VMWare Player 5.0.  

It took more than 7 hours to do the virtual machine conversion for a 127 GB virtual machine from an IDE (PATA) drive to an eSATA drive.  When I initially launched the virtual machine I kept getting prompted for the activation  key and none of the keys I had would work with the XP Mode virtual machine because it is licensed specifically to work with Virtual PC.

I did some digging around and found that if I add the line: xpmode.enabled = "TRUE" to the .vmx configuration file it no longer prompted me for activation. I was then able to run my 16 bit programming environment under VMWare Player and it ran a heck of a lot faster than it did under Virtual PC. (which proves once again that Microsoft doesn't know what the hell they are doing when it comes to writing software, oh... wait... Microsoft didn't write Virtual PC, they bought it from Connectix, just like all of the other crapware they sell.)

The next step was to convert an Acronis TrueImage backup of my old Compaq Presario 2700, Pentium III Mobile laptop (which is 12 years old and still running fine) to see if I could create another XP virtual machine. It took more than 4 hours to do the backup across the network from the laptop to my eSATA drive. Then, an additional 20 minutes later converting it from the Acronis .TIB format to a VMWare virtual machine using the vCenter Converter Standalone. 


Once the conversion was completed, I had to figure out how to re-activate that copy of Windows XP in order to run it in the VMWare Player. As soon as it started up, I could see there was going to be a bit of a hassle in terms of doing the activation because it didn't recognize the network adapters in the Host, as a result, no Internet connectivity was available to try to activate using the XP product key from the COA (certificate of authenticity) on the bottom of the laptop.


I clicked on the "Telephone" button to activate by telephone... but because of the hardware changes the installation key that was generated would not validate correctly via the Microsoft telephone validation process.

What to do...?  On a hunch, I clicked on the button to change the Product Key and it gave me the 5 entry fields to enter the Product Key from the COA. I entered them and it automatically generated the installation key. 

I then entered the telephone validation process again and used the new installation key to generate an activation key and Viola! a new XP virtual machine was activated.

So, now it's 24 hours later and I can now run either XP environment in my VMWare Player as separate virtual machines. It's a good day so far!