Windows 7 may be looking faster and more polished than its predecessor, Windows Vista, but both operating systems are nearly identical under the hood.
That means some of the application compatibility problems that plagued Vista users could also strike Windows 7 users, especially corporate workers.
[ Find out if your PC can run Windows 7. | Get the analysis and insights that only Randall C. Kennedy can provide on Windows tech in InfoWorld's Enterprise Desktop blog and Technology: Windows newsletter. And download our free Windows performance-monitoring tool. ]
While many software and game makers have fixed the XP apps that broke under Vista three years ago, the same isn't true of custom applications running inside enterprises. Often written in Microsoft languages such as .Net or Visual Basic, these apps can suddenly become a roadblock for enterprises intent on upgrading from XP to Windows 7, especially if they have thousands of them in use, said Chris Jackson, an associate software architect at Microsoft.
The disadvantage is that virtualized apps run slower, sometimes much slower. Also, companies may end up having to support the newer operating system as well as the one they upgraded from.
Enter shims, which are to programming what jujitsu is to hand-to-hand combat.
Essentially little bits of code, shims don't try to tackle app compatibility problems head-on, but use tricks to sidestep them.
For instance, one common problem is caused by a requirement in Windows Vista and Windows 7 that most users work in standard user mode rather than administrator mode. Because users in standard mode have fewer system rights, they are less likely to inadvertently install malware. But that also can break programs written for XP that assume users are running as administrators.
A shim either fools the app into believing the user has admin rights, or it simply bypasses the test. Since the user is still in standard user mode, no security is compromised, Jackson said. And no app code needs to be rewritten.
"Think of it as like rephrasing a question," Jackson said during a talk last week at Microsoft's TechEd conference in Los Angeles. "If I can't say yes to a question, I'll just change the question."
Microsoft has long created its own shims rather than making laborious bug fixes to Windows' oft-brittle code.
"If you walk too loudly down the hall near the [Windows] kernel developers, you'll break 20 to 30 apps," Jackson joked.
In the Release Candidate for Windows 7, Microsoft is providing shims for 6,999 applications, with more added in every patch update, according to Jeremy Chapman, a senior Windows program manager for Microsoft.