Under the Covers - Querying the XP Embedded Repository

Every considered that, in certain circumstances, it would be useful to query the XP Embedded repository directly rather than using the Target Designer or Component Database Manager? 

If you simply want to find out which components contain a particular file (e.g iexplorer.exe) you can use the following query:

SELECT    ExtendedProperties.StringValue, ComponentObjects.DisplayName
FROM       ExtendedProperties INNER JOIN
               ComponentObjects ON ComponentObjects.ComponentID
               = ExtendedProperties.OwnerID
WHERE     (ExtendedProperties.StringValue LIKE 'iexplore.exe') AND
               (ExtendedProperties.ResourceTypeID = 1)
ORDER BY ExtendedProperties.StringValue

This will return about 8 or 10 hotfixes and service pack versions of the Internet Explorer components released over the years.

If however you wish to query for the owning components of files, then I recommend investing in Sean Liming’s toolkit that does a much better job at this, including finding reverse dependencies, owners of registry keys, componentising applications, etc…

Comments