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