Windows Tools

CompatAdmin Notes

Overview | Notes | UI | Examples | Related Tools

Working with the System Database

The main CompatAdmin interface provides a control for viewing and browsing applications with compatibility fixes in the Windows XP Professional system database. This view is always displayed in the upper left pane (System Database pane) of the CompatAdmin window.

The system compatibility database is an integral part of the Windows XP Professional operating system, ensuring out-of-box compatibility for hundreds of Windows applications. This database and the corresponding application entries are protected by the operating system.

Microsoft may update the system database in future Service Pack releases or Windows Update packages.

Limiting the Entries Displayed in the Database Window

There are hundreds of applications in the system database, each using one of several possible compatibility technologies. The number of entries and information can make it difficult to browse and work with the system database control.

Use the View menu options to limit the system entries that are displayed.

Disabling System Fixes

The fixes listed in the system database cannot be deleted because they are part of the protected database on every Windows XP Professional system; however, the entries in the system database can be disabled for the local system. Disabling an entry ensures that corresponding system fixes are not applied when the application is run. This option is useful when testing an application that is already in the system fix database, or when specifying alternate fixes for the application.

To disable an entry:

Notes

Enabling Disabled System Fixes

To enable an entry:

Searching for Applications

CompatAdmin provides a tool that searches local and connected computer drives for applications that use compatibility fixes. This includes applications with entries in the system database, as well as other custom databases that may be installed.

To search for applications that use compatibility fixes:

  1. Select Search for Fixes from the View menu.
  2. In the Search list dialog box, check the drives to profile.
  3. Click Start to begin the search.
  4. Click Cancel at any time to end the search.

CompatAdmin displays your search results. This lists all applications found in the search path with their corresponding compatibility entries. If you want to get more information about the specific fixes applied to an application in the list, look in the system database.

To view specific fixes applied to an application:

Creating and Maintaining Custom Databases

One of the most useful aspects of CompatAdmin is the support it provides for creating and maintaining custom compatibility databases. The current custom database is displayed in the lower left pane of the Main Database view (Custom Database pane). When CompatAdmin starts, the custom database area is opened with a new, empty database.

Use the Database menu options to add or remove fixes from the custom database. The menu options may only be enabled if you have already selected the custom database window and/or a valid entry.

Creating a Custom Fix Database

Once you have identified and tested fixes for your target applications, you can use CompatAdmin to create a custom fix database. You can create a custom fix database that contains applications fixed with compatability modes, as well as applications fixed with specific compatibility fixes.

Creating a New Custom Fix Database

To create a new custom fix database:

  1. If you have a custom fix database open, select File|New .
  2. Select Database|Change Database name . Once you have changed the database name, it will be displayed at the top of the Custom Database pane. If Change Database name is disabled, click the Custom Database pane of the window.
  3. Select File|Save and name your .sdb file. You are now ready to add fixes to your custom database.

Adding a Compatibility Mode to a Custom Fix Database

To create a custom fix database with compatibility modes:

  1. Select Database|Create Application Fix . The Create an application fix dialog box is displayed.
  2. Select Apply Compatibility Mode, and click Next.
  3. Enter the name of the application for which you will specify a compatibility mode and click Next.
  4. Enter the name of the file to which the compatibility mode will be applied. You can type the name of the file, or use Browse to locate it.
  5. Select the compatibility mode to apply from the drop down list and click Next.
  6. Click Add file to select files that will help to identify the specified file on target computers. Choose files that are associated with your application that will be installed in the same related location. For example, choose an .hlp file that resides in the same directory as the .exe file. Try to uniquely identify your file without choosing an unnecessarily high number of matching files.

    Notes

    • Do not choose files in the \System32 folder to act as matching files for your application. Microsoft system files are protected and cannot be used for file matching.
    • Using Auto Generate will also create matching file information, but may generate much more information than you need. If you use this option, use Remove to delete any matching files that are not necessary to uniquely identify your .exe file on the target computer.
  7. Click Next when you have selected all necessary matching files.
  8. If you want to test the fix, click Test Run. Otherwise, click Finish.

Adding Specific Compatibility Fixes to a Custom Fix Database

Once you have used QFixApp to determine what application fixes you need to include in your .sdb file, you are ready to create your custom fix database. Repeat the following steps for each application that the .sdb will fix.

To create a custom fix database with specific compatibility fixes:

  1. Select Database|Create Application Fix . The Create an application fix dialog box is displayed.
  2. Select Apply specific compatibility fix, and click Next.
  3. Enter the name of the application for which you will specify fixes, and click Next.
  4. Enter the name of the file to which the fixes will be applied. You can type the name of the file, or use Browse to locate it.
  5. Click Next.
  6. Check the boxes for the fixes that need to be applied to the selected executable. If you need additional information on a fix, select it and read the description in the View Description textbox. If you need to start over after you have already started checking fixes, click Clear all to remove all checks.
  7. When you have checked all necessary fixes for the specified file, click Next.
  8. Click Add file to select files that will help to identify the specified file on target computers. Choose files that are associated with your application that will be installed in the same related location. For example, choose an .hlp file that resides in the same directory as the .exe file. Try to uniquely identify your file without choosing an unnecessarily high number of matching files.

    Notes

    • Do not choose files in the \System32 folder to act as matching files for your application. Microsoft system files are protected and cannot be used for file matching.
    • Using Auto Generate will also create matching file information, but may generate much more information than you need. If you use this option, use Remove to delete any matching files that are not necessary to uniquely identify your .exe file on the target computer.
  9. Click Next when you have selected all necessary matching files.
  10. If you want to test the fix, click Test Run. Otherwise, click Finish.

Maintaining a Custom Fix Database

Once you have created a custom fix database, you can add, edit matching file information, delete, and test the fixes it contains. For information on adding fixes to a custom database, see Adding a Compatibility Mode to a Custom Fix Database or Adding Specific Compatibility Fixes to a Custom Fix Database.

To edit matching file information for an application in a custom database:

  1. Select the application in the Custom Database pane.
  2. Right-click the file for which you want to add matching file information in the Details pane and select Add Matching Information.
  3. Click Add file to select files that will help to identify the specified file on target computers. Choose files that are associated with your application that will be installed in the same related location. For example, choose an .hlp file that resides in the same directory as the .exe file. Try to uniquely identify your file without choosing an unnecessarily high number of matching files.

    Notes

    • Do not choose files in the \System32 folder to act as matching files for your application. Microsoft system files are protected and cannot be used for file matching.
    • Using Auto Generate will also create matching file information, but may generate much more information than you need. If you use this option, use Remove to delete any matching files that are not necessary to uniquely identify your .exe file on the target computer.
  4. Click OK when you have finished editing matching file information.

To remove an application fix from a custom database:

  1. Select the application in the Custom Database pane.
  2. Select Database|Remove Application Fix . The application fix is deleted from the .sdb file.

To test an application fix in a custom database:

  1. Select the application in the Custom Database pane.
  2. Right-click the fix in the Details pane, and select Test Run.

Custom Databases and GUIDs

Each custom database has a unique GUID assigned to it. Renaming an exsiting custom database does not change the database's GUID. In order to generate a unique GUID, you must create a new custom database.

If you want to create a new version of an existing custom database, open that custom database and use Database|Change Database name to change the name. For example, your original custom database was called "ABC Co Fix V 1" and you change the name to "ABC Co Fix V 1.1." In this case, when you deploy the fix, other computers will correctly apply the updated fixes because the GUID for both of these files is identical.

However, if you create a "template" file that contains custom compatibility modes that you commonly use and just rename it to create new .sdb files, this will not produce reliable .sdb files for deployment to others in your company.

For example, your "template" custom database is called "Template" and you want to create two new custom databases based on it: "AcctApps" and "OperationsApps." For the most part, these two new files will be sent to different groups, but there is some overlap between those groups. If you create these files by opening "Template" and renaming it, both "AcctApps" and "OperationsApps" will have the same GUID. For those people who use only one .sdb file, this is not a large issue; however, for those people who need to apply both .sdb files, a conflict occurs. When one of the people from the latter group runs the first .sdb file, all the fixes are applied to his or her computer. When the second file is run, however, since it has the same GUID as the first file, fixes from the first file will be removed and replaced by fixes from the second file. Only if both "AcctApps" and "OperationsApps" have unique GUIDs will both .sdb files be properly applied without interfering with each other.

Deploying Custom Fix Databases

Once you establish which fixes are necessary for an application to work well on Windows XP Professional, use CompatAdmin to help deploy those fixes to other machines.

To deploy fixes using CompatAdmin:

Create Custom Database (.sdb) Files for Targets

CompatAdmin creates a custom compatibility fix database in which multiple application and fixes can be specified. Once a database has been built with the fixes to deploy, simply save the custom database. This creates the database .sdb file, which can be installed on any Windows XP Professional system.

Deliver Files to the Destination Machines

Deploy a copy of the .Ssdb file to each machine that requires the fixes. There are a number of ways to accomplish this:

Add Fix Information to the Destination Machines

Installation of the custom database file is as simple as running the .sdb file on the Windows XP Professional target machine. The operating system performs all of the necessary actions to register the new fix database as well as creating an entry in add/remove programs.

Note