Microsoft Application Compatibility Toolkit

From WPKG | Open Source Software Deployment and Distribution
Jump to: navigation, search

Deploying application compatibility fixes

Use the Compatibility Administrator to get your custom database's GUID to fill in this template:

        <package id="appcompat_myapp"
                 name="MyApp application compatibility database"
                 revision="%PKG_VERSION%"
                 reboot="false"
                 priority="2">

        <variable name="PKG_VERSION" value="1"/>
        <variable name="PKG_SDB" value="myapp.sdb" />
        <variable name="PKG_GUID" value="{679cb925-93dc-4525-801d-b9b488007957}" />
        <variable name="PKG_LONGNAME" value="MyApp Application Compatibility" />

        <!-- See http://technet.microsoft.com/en-us/library/cc749586%28v=ws.10%29.aspx
             and http://technet.microsoft.com/en-us/library/cc749169%28v=ws.10%29.aspx  -->  

        <!-- Add checks for all your SDBs here. Get the GUIDs by looking at the
             database in the Application Compatibility Administrator.

          -->

        <!-- <check type="file" condition="exists" path="%WINDIR%\appatch\custom\%PKG_GUID%.sdb"/> -->
        <check type="registry" condition="exists" path="HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\InstalledSDB\%PKG_GUID%" />
        <check type="uninstall" condition="exists" path="%PKG_LONGNAME%" />

        <!-- Now install your SDBs with sdbinst -->

        <install cmd="sdbinst &quot;%SOFTWARE%\SDBShare\%PKG_SDB%&quot; -q"/>

        <upgrade include="install"/>

        <remove cmd="sdbinst -g &quot;%PKG_GUID&quot;"/>
 
        </package>

Other resources

This walkthrough of the entire process might be helpful.