A Little White Lie Trips Up Apps

Author’s note: I recently started writing a tech column for an online community newspaper on the theory that if I couldn’t regular commit to regular posts on my own blog, it might be easier to commit to someone else’s publication.  We’ll see how this works.

The following was originally posted on the Shoreline Area News, January 25, 2014 as part of the Tech Talk series.

“Quicken 2014 says my Windows 7 is not supported.”

That was the problem posed to me a few weeks ago by a client who had been using Intuit’s accounting package for years, faithfully upgrading it each year. Starting Quicken after his most recent upgrade produced two puzzling error messages.

The first message stated that Quicken does not support “running as administrator.” Closing that message produced another message, stating that “Quicken requires Windows XP Service Pack 2 or later to run.” and adding that his version of Windows is not supported.

Since my client had the only account on the PC, he was the administrator, but the first message suggests he shouldn’t be. The other message suggested that he might be running a pretty old version of Windows. It was very confusing.

Why were these messages appearing? Because Windows 7 was telling Quicken 2014 what it thought it wanted to hear … all in the name of program compatibility.

Compatibility Is in the Eye of the Application

As Windows has changed in feature sophistication and security, its compatibility with existing applications becomes more problematic. Older applications are unaware of these changes and often have difficulty handling the new restrictions placed on them. The most common compatibility problems occur for programs when (1) they either do something no longer permitted or (2) the Windows version is interpreted incorrectly.

As a result applications, as they start up, typically make requests of the operating system to check for earlier, incompatible OS versions. Unfortunately, many applications misinterpret the results of those requests, disqualifying a new, unfamiliar OS.

For this reason, Windows has included the ability to “lie” to applications, telling them that the current version of the operation system is actually earlier version of Windows that is more acceptable to the application.  This functionality has been built into Windows for the last decade or so under the name “Compatibility Mode.” Compatibility mode will also change Windows’ interaction with the program to accommodate the use of old-style program requests. The latest form of this is included in the Program Compatibility Assistant.

Older programs are also unaware of many security restriction Windows now have in place to protect the system and other applications from malware infection. So these programs often fail if they cannot access or save to protected areas of the hard drive or system memory. In order to run successfully, they need “administrator access.” or to “run as an administrator.”

The Compatibility Tab

As a result, the properties for a program displays a tab for Compatibility (example shown here from Windows 8). To view this on your Windows 8.1 and earlier system, Right-click on a Desktop or Explorer program icon and chose Properties from the resulting menu.)

Though settings have evolved over the time, two of the most useful are “Run this program in compatibility mode for…” and “Run this program as an administrator.”

The first allows you to tell an application you are running in a previous version of Windows. The second grants the program “administrative rights” to access normally protected parts of the system.

Compatibility Settings are a Double-Edged Sword

Of course, setting administrative rights and a different version of Windows can also backfire, especially with an up-to-date version of a program like Quicken 2014.

A check of the compatibility tab on the icon for my client’s version of the software showed both the administrator and compatibility mode options checked and the compatibility mode was set to Windows XP, Service Pack 2.

Now the error messages actually make sense. Quicken 2014 does not support any version less that Windows XP, Service Pack 3. And, as it was designed to work within the security boundaries of Windows 7, an objection was made running the using less secure administrator settings.

How Were These Compatibility Settings Applied Initially?

Its hard to know for sure, but I suspect the icon and its compatibility settings were “inherited” from one version of Quicken to another over the years, until a version of the software was installed wouldn’t tolerate them in place anymore.

This Could Happen to an Application Near You

Given that Windows XP, an common compatibility emulation for Windows Vista, 7, and 8/8.1, is reaching its “end of support” cycle this year, we will probably be seeing more of these scenarios in the coming months. More and more application updates will drop support for Windows XP, and if Windows XP compatibility settings are in place, they will also complain as Quicken 2014 did for my client.

Advertisements