Disable Windows Magnifier

Soon after Netflix added profiles I started using one, unfortunately the Windows Media Center plugin has not been updated to use profiles and likely never will. At first I tried the Kylo browser plugin for Media Center but it was a bit difficult to use with the remote. So I’ve been using a little program called RemoteKCWin7 that allows you to make the Media Center Remote control act as a mouse or keyboard.

This has worked well with one exception. When I accidentally press the clear key Windows Magnifier would come up and then I’d have to get up shut down magnifier and rewind the show (happens frequently since the main mode key, *, is right above it). Searching around I found a lot of people accidentally starting the screen magnifier and wondering how to truly disable it. For those people the problem is that Windows 7 has a hard wired shortcut key of Win + Num Pad Plus. FYI – Microsoft does not mention this hard wired shortcut in its official page of shortcuts, Microsoft.com – Windows 7 Keyboard shortcuts.

Some applications use Ctrl + Num Pad Plus for zoom so it’s easy to accidentally hit the magnifier shortcut. The only way to disable magnifier start from the shortcut key is to rename the Magnify.exe which of course isn’t easy because it is a system file. This post, Tampa Bay Times – Solutions: Getting rid of the Windows Magnifier, has good instructions on how to get this done. However it didn’t work on my Win7 x64 Pro. Browsing the file system I found that on Win7 x64 there is second copy of Magnify.exe in WindowssysWOW64, a 64bit version I assume. By following the disable instructions I finally got both copies disabled and the keyboard shortcut is truly disabled. Although it doesn’t apply to me here’s instructions for Windows 8, Permanently Turn Off Windows 8 Magnifier.

If the magnifier is starting at boot time then you need to change ease of use settings as detailed in this long thread, Microsoft Community – How do I disable the Windows 7 Magnifier?.

Believing I had this all sorted out I was surprised the other night to have an error message pop-up when I accidentally hit the clear key on my remote. Reading the error message it was clear that the error message was coming from RemoteKCWin7 which is an  AutoHotkey application. Since AutoHotkey is my language of choice for writing tiny utilities for Windows I decided to look at the source code to see what was up. Unfortunately I had never downloaded the RemoteKCWin7 source code for the version modified to work in Win7. So I went looking for it, that’s when I found out about the loss of all the old code links when AutoHotkey moved from a .net domain to a .com domain. Searching around I found out that a number of AutoHotkey users had gathered up and archived all of the old source code and applications. Thank you to all the users who gathered up all that useful code it helped me solve the problem.

Reading through the source code I found that the clear button acts as the keyboard Esc key. The code was set to start Magnifier on the first press and close it on the second press. Trying it out I found that unfortunately on my PC the second key press only closed the Magnifier tool bar dialog not the magnified view window. So I commented out the code that starts magnifier, re-compiled it and voila, no more magnifier from the remote. You can download an archive with the source code and executable from here.


Do Not Track Solution to Network Device Access

I was doing some maintenance on my network devices and I could not get the password to work on my AP’s web interface in Firefox. To get the job done I simply used Internet Explorer and it worked OK. The solution is to change the Firefox Do Not Track setting. Here’s the whole chain needed to get there: Firefox menu -> Options -> Options select the Privacy tab and change the Tracking radio button to Do not tell sites anything about my tracking preferences.

Print Preview Problem in LibreOffice Calc

I’ve had a problem with the LibreOffice Calc print preview function for a while. The problem is not showing the selected sheet(s) and I’ve always assumed it was more a problem with me than with the software. I finally got annoyed enough with my work around for the problem that I decided to search for an answer. The answer I found was 2½ years old making me feel even dumber for not looking sooner. So if you can’t get some sheets to show in print preview simply go to the sheets that do show and delete the defined print ranges (Format -> Print Ranges -> Remove). When you think about it this is the proper behavior, setting a print range tells Calc to not print anything else in the spreadsheet.

Windows for Workgroups 3.11 Virtually

I needed to install a program on my replacement PC the other day so I had to dig through my installation disks looking for the CD. That’s when I saw the original Packard Bell Multi-Media Master CD for my 1994 Packard Bell Force 53CD PC. The CD contained the full version of MS-DOS 6.00 and Windows for Workgroups 3.11 so I just couldn’t resist installing this in a virtual machine. The process turned out to be a very fun and time wasting trip down memory lane.

Since both DOS 6 & WFW3.11 are still under copyright, I can’t provide a VHD file like I’ve done for the Linux distros. So if you want to play around with this 20 year old OS you’ll need to roll your own VM. Here are a bunch of tips for getting a Windows Virtual PC going with WFW. At the very end of this post is a list of downloadable drivers, updates and programs with links.

VM Setup

  • Give the VM 128MiB of RAM and don’t make the virtual disk bigger than 2GiB (old size limit). In my trials I found a 200MiB drive was large enough to install everything including keeping a full copy of the WFW installation files.
  • Use a fixed size virtual disk, I saw a number of disk read errors when I tried using a dynamic disk.

DOS & WFW Setup

  • You can’t run MS-DOS setup from a normal CD or from a hard disk. Since my Master CD had a copy of the files from after installation I just copied that directory to the disk and used a DOS 6 boot disk to partition and format the drive. If you really want or need to install DOS 6.x make three physical bootable CDs with the three installation disk images. Then set the VM to use your real drive, boot off of disk one and when prompted to put the next disk in A: change the CD.
  • Use the /S option when formatting so that you don’t have to run SYS on the disk after formatting.
  • Copy all the files from the 8 WFW floppy disks into a single directory e.g. WIN_INST. This makes installation faster and comes in handy later when you are prompted for install disks during driver installations.
  • Don’t use EMM386 in you DOS CONFIG.SYS file, it seems to cause a lot of GPF’s in Windows.
  • The WFW Express install option always crashed at the network adapter screen but simply choosing custom setup and taking the default options avoided the crash.
  • After you finish installing all of the drivers and programs set the swap file to none. With 128MiB of RAM a swap file is not needed.
  • When you’re finished installing everything run a full DEFRAG on the drive, it speeds up operations significantly.
  • Add EMMExclude=A000-CBFF to the [386Enh] section of the SYSTEM.INI file. I found this tip here (comment by Zinc) and here.
  • When I had 15 program groups in Program Manager, groups would randomly disappear from the screen at start up. I merged some groups until I had only 8 total and it solved the problem. I didn’t take the time to see what number of groups makes the problem occur.

Continue reading “Windows for Workgroups 3.11 Virtually”

A Virtual Puppy Named Slacko

I first played around with Puppy Linux about eight years ago to extend the useful life of an old PC for relatives. With Puppy’s low PC resource requirements and my previous experience it was a natural choice for my second distro to run in WVPC. In addition to getting Slacko Puppy running in WVPC I also wanted to have it on a USB thumb drive to use for rescue operations on other PCs. Since most PCs I deal with currently are fairly new I chose to use the PAE version of Slacko. Before I dig into the WVPC implementation a quick note on the standard usage of Slacko Puppy. Read the release notes before you start! I did not do this and it cost me about a half hour of head scratching trying to get my main workstation to boot on the CD (it needed the radeon.modeset=0 boot option).

If you don’t want to roll your own virtual machine you can can download an archive containing the virtual disk and settings files. Simply extract the files to your virtual machines folder (usually C:UsersxxxxxxAppDataLocalMicrosoftWindows Virtual PCVirtual Machines where xxxxxx is your user name) and then run the VM. The archive, Slacko_Puppy_5_6_0_PAE.7z, contains Slacko_Puppy_5_6_0_PAE.7z.vmc (settings) and Slacko_Puppy_5_6_0_PAE.7z.vhd (virtual disk).

Continue reading “A Virtual Puppy Named Slacko”

Lubuntu on Windows Virtual PC

For my second Linux distro to try out in Windows 7 Virtual PC I wanted to try an X-Windows based desktop distro. I chose Lubuntu for two reasons, it is very lightweight and I am somewhat familiar with recent Ubuntu installations.

Searching around the web I found that many people never get X-Windows running at greater than 800×600 resolution. There also appears to have been a problem with using 24bit color on earlier versions of Virtual PC. Having done quick test installs for a few different distros I found that X installs on WVPC end up at 800x600x24 and run OK. For my usage 800×600 is just too small and 24 bit color is not needed (I don’t expect to watch video or view/edit images in a VM). So I’ve set a target of getting X to run at 1024x768x16 for all desktop client distros that I’ll use. The larger screen size makes it practical to use multiple windows for finding solutions on the web and copying text from the web browser to a terminal or text editor to save on typing.

Another common problem I see people having is getting the middle mouse button (X button 2) and scroll wheel (X buttons 4 & 5) to work. Scrolling with the wheel and opening new Firefox tabs with a middle button click have become essential to me so this is the other major target for all my VMs. Unless I can get the mouse wheel/button and 1024×768 working I won’t consider a distro to be functional for me in WVPC.

The final problem I’ve seen many web sites mention is the use of dynamic virtual disks. A dynamic disk saves space on your host PC by keeping the file small while still allowing it to grow as needed. Most sites say to only use the fixed disk type in VPC however these sites are working with older versions of VPC, not WVPC, and older distros. The first VM I documented using was created with a dynamic disk and all of the VMs I’ve created myself work fine using a dynamic disk. I suspect the problem no longer applies to recent distros/kernels and WVPC. I did find one case where a dynamic disk did not work, I tried to expand the size of the Q&D LAMP VM by creating a larger virtual disk and using Clonezilla to copy the old disk into the new one. Clonezilla said it worked but when I looked at the size of the new dynamic disk it was clear it hadn’t worked. In that situation I had to use a fixed size virtual disk to make the cloning work.

The rest of this post is primarily a description of the steps I took to get Lubuntu 13.10 running in Windows Virtual PC. If you don’t want to perform these steps yourself you can download an archive containing the virtual disk and settings files. Simply extract the files to your virtual machines folder (usually C:UsersxxxxxxAppDataLocalMicrosoftWindows Virtual PCVirtual Machines where xxxxxx is your user name) and then run the VM. The archive, Lubuntu_13_1_upd8.7z, contains Lubuntu_13_1_upd8.vmc (settings) and Lubuntu_13_1_upd8.vhd (virtual disk). For this pre-made VHD I used these settings for names and password:  Name: W7VPC, PC Name: w7vpc-Virtual-Machine, Username: w7vpc, Password: w7vpc2014, and set it to Log in automatically.

Continue reading “Lubuntu on Windows Virtual PC”

A LAMP Server for Windows Virtual PC

My first Linux VM was a very easy one to setup because the setup had already been done. It’s a  Downloadable Quick & Dirty LAMP Server from Tim Wray.

While it works to simply extract out the settings and virtual hard drive files and run the VM, I noticed that the setting XML file is substantially different for Windows Virtual PC than it was for Microsoft Virtual PC 2007. This includes the amount of video RAM so I decided to create a new settings file and, with Tim’s great instructions on how to fix the one problem that crops up, it is painless. The following instructions assume you know how to use basic Linux commands as well as the openSUSE text mode Yast configuration program.

  1. Extract the OpenSUSE 10.2 LAMP Server (PHP 5.2.11 MySQL 5).vhd file to the location for your installation. Should be C:UsersxxxxxxAppDataLocalMicrosoftWindows Virtual PCVirtual Machines where xxxxxx is your user name.
  2. Open Windows Virtual PC.
    Continue reading “A LAMP Server for Windows Virtual PC”

Linux as a Guest OS in Windows Virtual PC

To be absolutely clear what I’ll be writing about in this and future posts is the Windows 7 Pro (and higher) add-on Windows Virtual PC (WVPC). It is a descendant of the general purpose Microsoft Virtual PC but is different in that it was modified specifically to facilitate the Win7 XP Mode feature. Basically Microsoft intends WVPC to allow the running of XP, Vista and Windows 7 guests on a Windows 7 host, they do not support any other guest OSs. However they did not remove the capability to run other OSs they simply did not update some useful features for other OSs and they removed the integration components for Windows versions older than XP.

Getting any Linux distro setup on WVPC is not something the average user should attempt. If you want to try out different Linux distros and have all their features work you should definitely use different virtualization software. VirtualBox and VMWare are much easier to use and will let you properly evaluate distros.

I decided to play around with Linux on WVPC for a number of reasons.

  1. I already use it for XP Mode and when an app is running it isn’t obvious that VPC is running. If I had another virtualization platform installed I could accidentally run it at the same time which could crash Windows badly. So to be safe only VPC will ever be installed on my Win7 PC.
  2. I occasionally need to run software that is only available on Linux e.g. the libpst library
  3. Having played around with Linux on and off since 1998 I actually find it fun to dig into the OS guts to get it working on unsupported hardware. I still remember the thrill of compiling a newer version of the kernel for the first time and it making a new system work.

In later posts I’ll detail how I got specific distros running but for now I just want to cover a few generic tips. The first tip is don’t expect to find a lot of useful information on the net. Most discussion threads about this topic quickly end with the person asking for help being convinced to give up and just use VirtualBox or VMWare. Most of the blog posts you’ll see are for Microsoft Virtual PC 2004 or 2007, products that officially supported Linux as a guest OS so they often are not applicable to WVPC.

Tip number two is lower your expectations, don’t expect to run X-Windows in high resolution, watch video or listen to music. Much of the problem stems from the fact that there are no integration components supplied for newer Linux distros. If you look in  “C:\Program Files\Microsoft Virtual Server\Virtual Machine Additions” you’ll see that the old additions for Linux are there but since they have not been updated since 2007 they are basically useless.

The third tip is to expect that you will need to add kernel boot parameters to get any install going reliably and then you may need to manually add some of them to the GRUB configuration after a successful install. In my playing around so far I have found that noreplace-paravirt, i8042.noloop and clocksource=pit (clock=pit for older kernels) are the minimum. In some cases you may also need a vga=788 option as well. There is an old blog post from 2009 that explains the first options fairly well. In addition to what is said in that old post about the clocksource option, Ben Armstrong of Microsoft posted in 2006 about how the clock option prevents a key repeat problem. For even greater detail on the clocksource option read this Microsoft Knowledge Base article.

The next tip is only if you are a die hard numeric keypad user like me. I hate when Num Lock gets turned off, an accountant at work showed me how much more efficient data entry is with the keypad way back in the 1980s. After all this time my hand instantly goes to the keypad anytime I’m entering more than a couple digits so I find I just can’t live without it. To ensure the Num Lock stays on you have to set the VM BIOS option and usually set it in the OS as well. To set the BIOS option, press the Delete key as soon as the VM window opens to access the VM BIOS settings. Change the Advanced-Boot Setting Configuration-Bootup Num-Lock setting to On. Then press F10 to save and exit the BIOS settings.


A final note on Num Lock, some guest OSs will toggle Num Lock on/off during the boot process. If the VM window looses focus during this time the Num Lock state may end up set incorrectly.

The last tip is about WVPC video RAM, the default setting when you create a new VM is 16 meg, the maximum supported, but it can be decreased by manually editing the XML file if you wish to save on host RAM. Although the VM has 16M, so far I’ve found that the amount detected by Linux is never 16MB. Some query mechanisms have returned 64M but all the ones that count always seem to detect only 4MB. I suspect the only way to resolve this would be to write a custom display driver, a task that presently I don’t think is worth the effort.

Blogroll is back

The blogroll on the left side has been empty for a long while. It used to be automatically updated via a  Google Reader feature but since the demise of Reader it stopped working. I hadn’t found any way to replace it with another automated system so today I manually created a blogroll. To avoid typing too much I exported my feeds from Feedly as OPML then converted that to a CSV file using this utility web service. Finally I re-arranged, cleaned up and deleted the extra data from the CSV in LibreOffice Calc and added a formula to make <a href> links out of the names and urls. Then I simply pasted the resulting list into a WordPress text widget.