Case in Point: I work with a Technology Recruiter that recently turned me on to a consulting gig that has quite a bit of potential. The recruiter I worked with is phenomenal, but the company’s onboarding procedure relies on a third party’s “Electronic Form” submittal system. It’s supposed to make everyone’s job easier. In a perfect world, it would, but in a constantly evolving ecosystem of web technologies, it’s not.
The 3rd Party’s technology and website is not only outdated, but heavily reliant on only certain versions of Internet Explorer. Sound like fun yet? It gets better.
Apparently, printing out the forms and submitting them as PDF files via email wasn’t a solution as the recruiting company didn’t have the ability to intake the pdf forms as part of the on-boarding process. I had no choice but to spin up in a virtual machine an old Windows XP VM to fill out the forms online.
You would think this would be a relatively easy task, but hey.. nothing’s easy.
I do run Windows 7 Ultimate on my desktop as a day-to-day operating system due to the demands of everyday business. Microsoft has a Windows XP mode that can be downloaded for free (for those of us that paid the Microsoft Tax of $400.00+).
Thus begins the saga and what I had to do to make it work in a reasonable way.
Microsoft’s Windows XP Mode is basically the Virtual PC product they bought many years ago and personally, it’s a nice little product. Unfortunately, it’s been abandoned like Little Orphan Annie to the state.
For one thing, it only allows the Windows XP Mode VM to only have 1 core. Have you ever tried to update windows with one core and 512 MB ram? It’s an impossibly painful ordeal.
There aren’t settings for the Windows XP Mode VM to allow you to add the extra cores, but you can still add more RAM. Not a good solution considering it’s an impossibly slow VM configuration.
Here’s how I sorted the whole thing out:
1. Find the Windows XP Mode “VHD” file on your computer. It’s located usually in: C:\Program Files\Windows XP Mode.
2. Install Virtualbox ( Virtualbox.org )
3. Copy the VHD or move it to somewhere else on your hard drive. (I put it in my “My Documents” folder)
4. Right Click on the VHD file you just copied and do 2 things. Take Ownership of the file and uncheck the “Read Only” file permissions on the file. For extra measure I also granted the Everyone group full access to the file.
5. In Virtualbox, create a machine with the RAM and 1 CPU core. (We’ll come back to this later).
6. Mount the VHD file as the hard drive for the Virtual Machine.
7. Boot up the Windows XP Mode VM, Log in as administrator and do the following:
open a command prompt: (Start / Run / CMD)
In the “dos” window, type the following commands and hit return after each command:
c: cd\ mkdir temp1 cd temp1 copy C:\WINDOWS\Driver Cache\i386\sp3.cab\halmacpi.dll c:\temp1 copy C:\WINDOWS\Driver Cache\i386\ntkrnlmap.exe c:\temp1 cd\windows\system32 ren hal.dll hal.old copy C:\temp1\hal.dll C:\windows\system32 ren ntoskrnl.exe ntoskrnl.old copy C:\temp1\ntoskrnl.exe c:\windows\system32
We’ve now replaced the kernel in XP Mode to the dual core kernel. Shut down the machine gracefully.
Using a real machine, download the vmlite bios from the forums. (Go to: http://www.vmlite.com/index.php?option=com_kunena&Itemid=158&func=view&catid=9&id=6706&limit=6&limitstart=12#8420)
unzip it into a directory on your host machine at: c:\vboxbios
find the “.vbox” file on your hard drive corresponding to your machine and open it up in wordpad. Do not use notepad. It will become an impossible jumble of text.
Search for the following block:
Paste the following lines directly below that block:
<ExtraDataItem name="VBoxInternal/Devices/pcbios/0/Config/BiosRom" value="c:\vboxbios\pcbios.bin"/> </ExtraData>
Save the file.
Go to VirtualBox Manager and add another CPU core to your virtual machine in settings. Give it up to 4 GB of RAM.
Start the VM now.
It will probably freeze on boot a couple of times, but don’t fret. Just restart the VM. If it complains about unsigned drivers, click the “Continue Anyway” button and allow those unsigned drivers to be installed.
After a few reboots, the VM will come up and present you with a Login Screen.
Install the Oracle Virtualbox Tools on the VM. Reboot as many times as necessary.
You should now have a machine that will automatically activate using the Windows Activation button inside your XP Mode VM as well as have 2 cores!
Go ahead and update your VM now. Instead of 3 hours of updating a VM, it will only take 1 hour.
After you’ve done that, you can get back to using that incredibly outdated website to fill in your forms. For me, I was able to fill out the forms, but each click of the link caused the browser to crash. At least it was done.
The upside to this whole thing? I have a relatively up to date multi-core Windows XP Mode VM that is activated and working!
Yes, I could name the 3rd party company that provides the outdated website, but the way I look at it, if they don’t update their tech soon, they’ll be out of business in a year or so. I also don’t like to hurt people’s livelihood. It’s not right. They’re parents and have families and bills to pay. So don’t ask me privately who they are people.. I’m not telling.
Also a shout out to the company (you’ve been notified by me of this post). I’m more than happy to help you update your technology for a discounted rate, because I see value in your product (if it actually worked).