Develop a Plan for Deploying Application Compatibility Databases

Applies To: Windows 7, Windows Server 2008 R2

If shims will be used to fix application compatibility issues, you must create a shim database, also known as an application compatibility database, and decide how to manage the database as described in Managing Shims in an Enterprise (https://go.microsoft.com/fwlink/?LinkID=151421).

After determining how you want to manage your custom application compatibility databases, you need to develop a plan for deploying the databases.

Deploying a custom application compatibility database to users requires the following two actions:

  • Place the custom application compatibility database (.sdb file) in a location where the user's computer can access it either locally or on a network share.

  • Install the custom application compatibility database locally.

Deploy an application compatibility database by using SDBInst

The following are two commonly used methods to deploy an application compatibility database:

  • Package the custom application compatibility database (.sdb file) and a script in a Windows Installer (.msi file), and then deploy the file. If you use this method, use a custom action type to ensure that the Windows Installer file does not impersonate the calling user. For example, if you are using a Microsoft Visual Basic Scripting Edition (VBScript) script, the custom action type would be msidbCustomActionTypeVBScript + msidbCustomActionTypeInScript + msidbCustomActionTypeNoImpersonate = 0x0006 + 0x0400 + 0x0800 = 0x0C06 = 3078 decimal.

  • Place the custom application compatibility database (.sdb file) and a script on a network share, and then run the script on target computers, ensuring that the script is run at a time when it automatically receives elevated rights (for example, from a computer startup script instead of a user logon script).

Note

Ensure that the installation of the custom application compatibility database runs with administrative rights.

Deploy application compatibility databases by using Group Policy

By using Group Policy, you can ensure that custom application compatibility databases are deployed automatically to all client computers that require it. You can elect to deploy a custom application compatibility database to the entire domain, to specific organizational units (OUs), or to individual client computers. Ensure that the Windows Installer package has the proper access control list (ACL) entry on the file share to allow access only to appropriate computers.

  • Package the custom application compatibility database (.sdb file) and a script in a Windows Installer (.msi file), and then place the Windows Installer file on a network share.

  • Create a Group Policy object (GPO) to install the file on the target computers.

Initial deployment and updates

Because testing and mitigation of application compatibility issues typically happen prior to the deployment of the operating system, a common approach is to include the custom application compatibility database containing all known issues at the time of deployment with the standard computer image. Then, as you need to update your custom application compatibility database, you can provide these updates by using one of the mechanisms described above.