PowerCalc in Windows 7

PowerCalc

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"
WshShell.Exec "PowerCalc.exe"

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.

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.

PowerCalc Compatibility Dialog

Comments

 (Post a comment) | Comments RSS feed
  1. Unfortunately, this clever workaround does not work on Windows 7 x64, without any apparent solution. The closest product supported on the platform which I’ve found has been the open source speedcrunch (speedcrunch.org).

    Comment by Walt on February 2, 2011 @ 9:08 pm
  2. @Walt You’re in luck – I run it on Windows 7 x64 several times a day. Speedcrunch is good, but I like PowerCalc better. What error do you get when you run the script?

    Comment by Dan on February 2, 2011 @ 10:26 pm
  3. With a little help from Dan, the problem was traced to 7zip corrupting the files it extracted from PowerCalc’s installer (even though it appeared to work.) UniversalExtractor is definitely a better tool for the job in this case.

    Comment by Walt on February 3, 2011 @ 4:47 pm
  4. Curious, I think I’m getting Walt’s original problem in Win 7 x64; in fact I can’t even get PowerCalc to run in compatibility mode from a normal directory. I tried both your handy ZIP file as well as Universal Extractor, with and without the VB script (which I had assumed I didn’t need since my PowerCalc will remain in the same directory at all times), to no avail. Running PowerCalc pops up the dialog box “This program has known compatibility issues”.

    Love PowerCalc too, just afraid that when my office PCs upgrade to Windows 7 I’ll have to drop it!

    Comment by KJ on February 21, 2011 @ 4:38 pm
  5. @KJ You only get that error when it’s not running in compatibility mode. Were you setting the compatibility mode on a shortcut to PowerCalc.exe?

    Try this. From a command prompt http://www.sevenforums.com/tutorials/947-command-prompt.html where PowerCalc.exe is run these two commands:

    set __COMPAT_LAYER=WinXPSp3
    PowerCalc.exe

    That should at least run PowerCalc without the error. If it does, then we can figure out what’s not working with the other methods.

    Comment by Dan on February 22, 2011 @ 10:26 pm
  6. Thanks Dan. Yes, curiously I can’t even get the shortcut (with compatibility mode set) working. A big head-scratcher.

    Though I followed your instructions, I am also curious: what is the difference between setting the compatibility mode right in the PowerCalc.exe file vs a shortcut?

    Comment by KJ on February 23, 2011 @ 6:10 am
  7. How bizarre: what was not working just a few minutes ago is working now. When the compatibility window came up before and I clicked on run program, nothing would show up: no PowerCalc window, no process in Task Manager.

    Suddenly, PowerCalc has decided to run. No change in what I did, or the files I was working with. It just started working. Perhaps the threat of installing SP1 caused Windows 7 to cave.

    Thanks for your help Dan! This is tremendously awesome to have PowerCalc back.

    Comment by KJ on February 23, 2011 @ 6:21 am
  8. @KJ I was just going to reply and saw your updated comment. Great to have you with us as one of the Windows 7 PowerCalc users :)

    Comment by Dan on February 23, 2011 @ 9:10 am
  9. I could not run PowerCalc.exe until I took it out of system32. It triggers UAC upon every launch, however.

    Comment by Rob on April 22, 2011 @ 2:26 pm
  10. @Rob Thanks for the info. I have UAC disabled so I hadn’t encountered those issues.

    Comment by Dan on April 22, 2011 @ 3:13 pm
  11. In the shortcut properties under the compatibility tab, set to run the application to Windows XP (Service Pack 3) compatibility mode as stated. The suggestion would not work for me until I checked “Disable visual themes”. Now working for Win 7 Ultimate 32 bit on my end. This may also help with 64 bit issues. Thanks a million for all of the useful info!!! :)

    Comment by RT1138 on April 26, 2011 @ 1:41 pm
  12. @RT1138 Thanks for the pointer.

    Comment by Dan on April 26, 2011 @ 2:32 pm
  13. Yes I had to check “Disable visual themes” as well. Thanks so much for this page, once you’re hooked on Powercalc it’s difficult to go back – especially when you have it at work and not at home!

    Comment by Daniel on May 13, 2011 @ 8:00 pm
  14. Thanks! This worked! =D

    Microsoft Mathematics is like using a Casio calculator; it is done all wrong. For example, you do 1-1 and hit enter. Then you type -1 expected it to automatically prepend it with answer (i.e. answer-1 instead of just -1), but it does not. It separates each line (or each ‘ENTER’) into its own little workspace/entity and keeps them all separated from each other.

    Built-in calc is good and useful for some things, but for general math purposes it sucks compared to PowerCalc.

    PowerCalc is like a proper, decent TI graphing calculator. It does the job right. It’s an absolute shame Microsoft didn’t include PowerCalc with Windows 7.

    Comment by Joshua Szanto on May 14, 2011 @ 11:35 am
  15. Thank you all for your posts. I love Powercalc and agree Microsoft should make the effort to include it in Windows 7.

    I am running Windows 7 Professional 64 bit and it works. I copied the three powercalc files from my XP SP3 system into a powercalc folder under programs files(x86), made the property settings above, disabled the program compatibility message, made a shortcut and I was good.

    Thanks again to all.

    Comment by Norris on June 16, 2011 @ 8:41 am
  16. Thanks! Hooray, Powercalc is back only problem is that UAC is triggered on each load. Has anyone figured out a way of getting around this?

    Comment by Rob H on September 10, 2011 @ 12:37 am
  17. @Rob Yeah, disabling UAC :) I haven’t used UAC enough to know if you can tell it to stop whining about a particular program.

    Comment by Dan on September 10, 2011 @ 7:26 am
  18. I too was missing PowerCalc, but I recently found a modified binary that works great in Win64: Evernote Web

    Comment by M3 on October 13, 2011 @ 5:03 pm
  19. Ignore previous comment–wrong link! Here’s the proper link that explains how to modify PowerCalc for Win Vista/7 along with a working binary: http://blog.red-stars.net/technology/software/hacking-windows-xp-powertoy-calculator-to-run-in-vista/

    Comment by M3 on October 13, 2011 @ 5:06 pm
  20. This works great, thank you!

    Comment by moshe on October 18, 2011 @ 6:17 am
  21. I would be interested in using this prog but all the above comments are VERY confusing to a non techie. Could you please rewrite a simple step by step guide so that powercalc will work on my 64bitw7

    Comment by graham on December 18, 2011 @ 7:12 pm
  22. On Win7 64bit:
    1) Right-click the installer and set to WinXP SP3 Compatibility
    2) Install and ignore the warnings
    3) Copy the executable to the Program Files (x86) folder from the syswow64 default location
    4) Right-click the executable (in x86 folder) and set compatibility to WinXP SP3
    PowerCalc should now run fine in Win7 64 bit, although you may want to create a shortcut to the x86 location, because Win7’s start menu search will keep finding the syswow location.

    Comment by Bob on February 1, 2012 @ 11:19 am
  23. It’s working with the vbs you posted! The other solutions with compability mode XP SP3 don’t work.
    I’ve a Win7 64bit Professional Edition.
    Thanks a lot to all.

    Comment by Michele on March 1, 2012 @ 3:24 am
  24. To extract the file, run the exe. It puts an msi in %windir%\Downloaded Installations. 7zip can extract the files from the msi.

    Comment by Brian Tkatch on April 20, 2012 @ 8:01 am
  25. As info.. The step suggested by Bob on February 1, 2012 @ 11:19 am worked for me. Thanks a lot.

    Comment by MarkN on March 14, 2013 @ 3:45 pm
  26. You can run PowerCalc by installing “Windows XP Mode” available at Microsoft website:
    http://windows.microsoft.com/en-us/windows7/products/features/windows-xp-mode

    Comment by Manu on November 12, 2013 @ 12:55 am
  27. @Manu Thanks for the tip. It’s true, but it should be noted that Windows XP mode is a nearly 500MB download and has several hardware restrictions.

    Comment by Dan on November 12, 2013 @ 4:18 pm
  28. I got powercalc on windows 7 the same simple way I did in vista-
    copy the powercalc.exe file to the c drive, right click on its icon to get properties, and select “compatibility” tab. There check “Run this program in compatibility mode for” and select Windows XP (Service Pack 3) in the drop-down box. It just ran, win7 didn’t cavil in the least.

    Comment by Jack on October 8, 2014 @ 11:53 am
  29. The compatibility settings plus moving Powercalc out of SysWOW64 made all the difference, and got it working (I can live with the UAC annoyance). Thank you all.

    Comment by Eevle on August 13, 2016 @ 3:20 pm
  30. Rather late in the day, but I find the executable runs fine in Win10 x64 anniversary edition without even using compatibility mode. Note I didn’t run the installer, just copied the exe (216,576 bytes) and the help file over.

    Comment by JohnL on October 30, 2016 @ 6:28 am
  31. Wow, that’s cool. Thanks for testing it out. I’ve stuck with Windows 7 and never tried it.

    Comment by Dan on October 30, 2016 @ 1:37 pm

Comments are closed