Wednesday, 27 June 2012

Creating a custom ACT database/Shim



If you have an application that was designed for early versions of Windows and you are having problems with the application on Windows 7 you may be able to resolve the issues by running the application in compatibility mode.

You can automate the install and enable the application to run in the chosen mode for all users by creating a custom compatibility database for the exe of the application.

The application I have uses a Paradox database file that is stored in the root of the C: drive (PDOXUSRS.NET) which although can be given the appropriate user rights for all users read/write access requires that the application exe is run in Windows XP compatibility mode.

Download the Application Compatibility Toolkit from Microsoft:


Install the Application Compatibility Toolkit on your test machine along with your problem application.
Start the Compatibility Administrator.












This should launch with a Custom Database ready for you to modify, if the screen does not appear as shown above simply click the `New` button to create a new custom database.

Rename the database to match your application, include a version number so that the new database matches your application version and you will not get confused if you have to repeat this process for other applications.












Click the `Fix` button and enter the required details for the application.

















Click Next to continue

Select the Compatibility mode required for the application and if you require additional modes, and click Next















Accept the compatibility fixes selected and click Next.

















Confirm the matching information and click Finish













Save the Database (sdb) file to a safe location giving it the appropriate names of the application this will fix.















The application can now be tested on a clean machine by running the following command with administrative rights after the application has been installed:

Sdbinst Birchfield_NutrientAnalyser_1.0.sbd

If this has been successful you should be able to run your application under a standard user account.


1 comment:

  1. You really did a great job by posting this nice and relevant information about application packing.
    msi application packaging

    ReplyDelete