In the last part of our Windows XP end of life series, you will learn how to install Windows legacy applications on Windows 7 and Windows 8.x using the Microsoft Application Compatibility Toolkit and other application compatibility tools.
Avatar

Most IT pros are aware of the built-in application compatibility that comes with Windows by default. Applications that crash due to compatibility issues will typically cause the Program Compatibility Troubleshooter to run. The wizard attempts to analyze the application and apply fixes to make that application run correctly. You can also run the tool manually by right-clicking the application’s shortcut and choosing “Troubleshoot compatibility.”

Troubleshoot compatibility

Troubleshoot compatibility

If it works, your application is ready to use. If not, you have a broken app that may need some extra TLC to get working. The good news is that additional application compatibility is built into Windows, which you can access by using the Application Compatibility Toolkit.

Microsoft Application Compatibility Toolkit

The Microsoft Application Compatibility Toolkit used to be a standalone download, but it is now included as part of the Windows Assessment and Deployment Kit (also known as the ADK). If you’ve used SCCM or MDT, the ADK will probably look familiar to you since it includes things like Windows PE and the User State Migration Tool for OS deployment. The latest version can be downloaded here. When installing, you’ll want to make sure that Application Compatibility Toolkit (ACT) is checked since it isn’t selected by default.

Microsoft Application Compatibility Toolkit (ACT) in ADK

Microsoft Application Compatibility Toolkit (ACT) in ADK

Ensure that the application for which you’re building a fix (also known as a shim) is installed on the same system. After installing ACT, you’ll see that you have some new icons on your Start Menu/Screen. Since we’ll be fixing a 32-bit application, I’m going to run the Compatibility Administrator (32-bit).

After opening the Compatibility Administrator, you should have a default new custom database already listed. Right-click the new database, click Create New, and click Application Fix.

Compatibility Administrator - Application Fix

Compatibility Administrator - Application Fix

In the Create New Application Fix window, we’ll enter the name of the program and vendor, and then browse to the application’s location.

Create new Application Fix

Create new Application Fix

In the Compatibility Modes section, you can choose a specific compatibility mode to use for the application. I happen to have an application that we distribute to end users that works perfectly well in Windows 7, but the application must run in Windows XP SP3 compatibility mode. I use a custom shim database for this application and distribute it to systems that run this app when the app is deployed. This prevents end users from seeing errors and keeps them from either submitting support tickets or needing to know that they need to manually configure application compatibility for the app.

Compatibility Modes

Compatibility Modes

Advancing to the Compatibility Fixes screen will show you the fixes that are applied for the Windows XP SP3 compatibility mode, along with all of the other fixes that can be applied to an application.

Compatibility Fixes

Compatibility Fixes

The list of fixes that you can apply to an application is LONG. Fixing an application involves a lot of trial and error, but doing so has ultimately saved me many headaches with support and dealing with vendors that either can’t or don’t want to upgrade their apps. In the case of one app, I found other people who had already built a custom shim database that was shared with me. In another, it took some extra work troubleshooting the compatibility.

Chris Jackson, “The App Compat Guy” from Microsoft, has a great demo application that was very useful to me when learning how to use the Application Compatibility Toolkit. The application install includes a full tutorial on troubleshooting his StockViewer app.

Additional tools you’ll need

  • Standard User Analyzer (SUA) – The SUA is installed as part of the Application Compatibility Toolkit in C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Application Compatibility Toolkit\Standard User Analyzer\SUA.exe. The SUA allows you to analyze applications for problems related to User Account Control (UAC). If you have applications that typically require admin rights to run, the SUA can help you track down fixes to fix UAC problems and the need for a user to run as admin when running the application.
  • Event Log – Occasionally, the Event Log can provide error details that you can use to track down fixes. My personal experience has been that, most of the time, you just get an entry for the crash and not much else, but occasionally it can yield good information. Worst case scenario, you lost a few minutes; best case, you could find the key piece of information you need to fix the app.
  • Process Monitor – Process Monitor is an invaluable tool to see what files or Registry keys an application is accessing.
  • Debugger – You may need to break out a debugger every now and then when troubleshooting appcompat. My advice: make friends with some developers. 😉

Installing the custom shim database

Installing your custom shim database can be performed with the sdbinst.exe command line utility. Run sdbinst.exe path_to_your_database.sdb to install the database. Adding /q will run the install silently and bypass any errors.

Install custom shim database

Install custom shim database

Shim databases are installed serially, so you can technically have as many as you want. But, if you have lots of shimmed applications, you may want to consolidate them into one database since each database is referenced any time an executable on the system is launched.

1 Comment
  1. Avatar
    archmond 10 years ago

    cool!
    good post. 🙂

Leave a reply

Your email address will not be published. Required fields are marked *

*

© 4sysops 2006 - 2023

CONTACT US

Please ask IT administration questions in the forums. Any other messages are welcome.

Sending

Log in with your credentials

or    

Forgot your details?

Create Account