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.
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.
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:
- Select the application from the System Database pane, or from the Custom Database pane of the CompatAdmin window.
- The Details pane displays information on each of the compatibility solutions applied to this application.
- Right-click the specific application fix in the Details pane, and select Disable from the menu.
- The entry should now have a red exclamation mark, verifying that it has been disabled.
- Disabling and enabling entries is immediate, and there is no need to save this type of change. Once the selection has been changed, the operating system will behave accordingly when running the application.
Notes
- Use caution when disabling application entries in the system database. Depending on the application, as well as the fixes that were applied, running without these fixes may cause the application to exhibit new problems or to fail.
- You cannot deploy disabled entries to other computers. Entries are disabled only on the local computer for testing purposes.
To enable an entry:
- Select the application from the System Database pane, or from the Custom Database pane of the CompatAdmin window.
- The Details pane on the right side of the CompatAdmin window displays information on each of the compatibility solutions applied to this application.
- Right-click the specific application fix in the Details pane, and select Enable from the menu.
- The entry should no longer have a red exclamation mark.
- Disabling and enabling entries is immediate, and there is no need to save this type of change. Once the selection has been changed, the operating system will behave accordingly when running the application.
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:
- Select Search for Fixes from the View menu.
- In the Search list dialog box, check the drives to profile.
- Click Start to begin the search.
- 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:
- Select Database Viewer from the View menu. This returns you to the main CompatAdmin window.
- Select the application for which you want fix information in the System pane.
- Browse the fix information in the Details pane.
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.
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.
To create a new custom fix database:
- If you have a custom fix database open, select
File|New
.
- 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.
- Select
File|Save
and name your .sdb file. You are now ready to add fixes to your custom database.
To create a custom fix database with compatibility modes:
- Select
Database|Create Application Fix
. The Create an application fix dialog box is displayed.
- Select Apply Compatibility Mode, and click Next.
- Enter the name of the application for which you will specify a compatibility mode and click Next.
- 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.
- Select the compatibility mode to apply from the drop down list and click Next.
- 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.
- Click Next when you have selected all necessary matching files.
- If you want to test the fix, click Test Run. Otherwise, click Finish.
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:
- Select
Database|Create Application Fix
. The Create an application fix dialog box is displayed.
- Select Apply specific compatibility fix, and click Next.
- Enter the name of the application for which you will specify fixes, and click Next.
- 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.
- Click Next.
- 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.
- When you have checked all necessary fixes for the specified file, click Next.
- 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.
- Click Next when you have selected all necessary matching files.
- If you want to test the fix, click Test Run. Otherwise, click Finish.
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:
- Select the application in the Custom Database pane.
- Right-click the file for which you want to add matching file information in the Details pane and select Add Matching Information.
- 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.
- Click OK when you have finished editing matching file information.
To remove an application fix from a custom database:
- Select the application in the Custom Database pane.
- Select
Database|Remove Application Fix
. The application fix is deleted from the .sdb file.
To test an application fix in a custom database:
- Select the application in the Custom Database pane.
- Right-click the fix in the Details pane, and select Test Run.
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.
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:
- Identify and test fixes for the target applications. It is recommended that you use QFixApp to determine what fixes are necessary for an application.
- Create a custom database file(s) with the intended fixes (*.sdb).
- Deliver the .sdb file to the destination Windows XP Professional machine(s).
- Run the .sdb file on the machine(s). It will automatically install and add the fix information to the registry of the destination machine(s).
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.
Deploy a copy of the .Ssdb file to each machine that requires the fixes. There are a number of ways to accomplish this:
- Copy the .sdb file to appropriate machines.
- Make the .sdb file available on network share points.
- Include the .sdb file in an installation program.
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
- A path with spaces will fail to install correctly on the target Windows XP Professional machine. This is a problem in the Windows XP Professional Beta 2 release and will be fixed in the final version. The workaround is to run sdbinst.exe from the directory where the .sdb file is located.
For example, an .sdb file named myfix.sdb is saved to the desktop. Using the following command in the Run dialog will fail:
sdbinst myfix.sdb
In order for this command to run successfully, open a console window, change directories to the desktop, and then type the following at the command line:
sdbinst myfix.sdb