I love PowerToy Calc (a.k.a PowerCalc) but was disappointed to learn it doesn’t run in Windows 7. You can use the Windows 7 calculator but PowerCalc is keyboard friendly, supports custom functions, conversions, RPN mode, 128-digit precision, complex numbers and can even graph functions. It also loads quickly, is portable and can show only the history view.
A program this good deserves to work on Windows 7 – and I’m going to show you how.
The easiest method is to create a shortcut to PowerCalc.exe that runs in Windows XP SP3 compatibility mode.
A shortcut didn’t work for my needs because I keep all my portable apps in Dropbox. They need to be able to run on multiple machines from different locations and Windows shortcuts don’t support relative paths. I ran it in compatibility mode and poked around its environment with Process Explorer to learn how it knew to run in that mode. I discovered a __COMPAT_LAYER environment variable that was set to WinXPSp3.
I wrote a short VB script to set the environment variable before running PowerCalc.exe and now PowerCalc runs portably on any Windows 7 (or XP) machine.
Set WshShell = WScript.CreateObject("WScript.Shell")
Set wshProcEnv = wshShell.Environment("PROCESS")
wshProcEnv("__COMPAT_LAYER") = "WinXPSp3"
To extract the installer, download it and use UniversalExtractor. Choose “Not an InstallShield installer”. Then run UniversalExtractor again on the extracted “Calculator Powertoy for Windows XP.msi” and choose MSI Administrative Installer. The files will be in the newly created System32 folder.
Update: You can also download this zip file I made of the extracted files. Just unzip to use.
Place the above VB script into PowerToy.vbs and Bob’s your uncle.
Additional note: When you first run PowerCalc, a dialog will pop up saying it has known compatibility issues. Check the “Don’t show this message again” checkbox, then “Run program” to run PowerCalc without issues.
Potentially Related Posts