Your company's apps incompatible with Windows 7? Shim them, says Microsoft

By Eric Lai, Computerworld |  Development, Windows 7 Add a new comment

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.

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.

One solution is to run balky applications in virtualization, such as Windows 7's XP Mode or, for large enterprises, MED-V.

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.

For IT pros who need to create shims for their custom apps, Microsoft offers its free Windows Application Compatibility Toolkit (ACT).

The toolkit helps IT pros diagnose app compatibility problems then apply the proper shims to get balky software running. The latest version 5.5 was released last month.

Besides sidestepping user rights problems, ACT can also apply a shim that tricks an app into believing it is running on a particular operating system. Some apps will disable themselves if they are not running on the right version of an operating system.

ACT also offers a shim that helps a custom app locate system files written in an unexpected directory due to different versions of the operating system.

While Jackson is enthusiastic about shims, he admits that they "can't fix everything." If a user is trying to do something that requires a certain credential or certificate, shims can't be used to bypass that, he said.

Also, approaches such as virtualization have at least one advantage over shims - continued support from most independent software vendors, Jackson said. The same can't be said of shimmed apps.

"If you need a support statement, shims are only a stopgap," Jackson said. The best strategy in that case is to wait for the free or paid upgrade to Windows 7, he said.

    Add a comment

    Post a comment using one of these accounts
    Or join now
    At least 6 characters

    Note: Comment will appear soon after you have activated your account.
    Obscene/spam comments will be removed and accounts suspended.
    The information you submit is subject to our Privacy Policy and Terms of Service.

    ITworld LIVE

    DevelopmentWhite Papers & Webcasts

    White Paper

    HP NonStop SQL Fundamentals whitepaper

    This whitepaper offers a detailed look into the fundamentals of HP NonStop SQL solutions. See how this system delivers unprecedented levels of application availability with fail-safe data integrity and meets the needs of enterprises with large-scale business critical applications.

    White Paper

    Nebraska Medical Center case study

    See how the Nebraska Medical Center implemented a SQL solution to make information more readily available to streamline operations, improve patient care and facilitate medical research with an enterprise solution running on HP NonStop servers.

    White Paper

    Concepts of NonStop SQL/MX

    For DBAs and developers who are familiar with Oracle solutions and want to learn about NonStop SQL/MX, this whitepaper provides an overview of the similarities and differences between the two products-with a specific focus on implementation.

    White Paper

    6 Things Your CIO Needs to Know About Requirements

    If your organization is not predictably successful on technology projects, there is likely an issue in requirements. CIOs must take action and own requirements maturity improvement. There are 6 main things a CIO must know about requirements.

    Webcast On Demand

    User Experience Monitoring

    In this webinar, you will learn hints & tips for improving end-user response times from Forrester Research analyst, Jean-Pierre Garbani.

    Sponsor: Nimsoft

    See more White Papers | Webcasts

    Ask a question

    Ask a Question