Converting Shim Database Files to XML, and the Sdb* APIs


This was brought to my attention by a recent acquaintance: heaths dropped some bits on his blog that will dump the contents of an arbitrary shim database (including the system shim database) into an XML file for parsing and manipulation.

I think this is interesting to a point. While you can get most of the same data in a graphical tool by launching Compatibility Administrator with the super-secret /x command line switch, being able to manipulate it and search it can be very useful.

However, what really caught my attention is that it links to some APIs which I had absolutely no idea were documented: the Sdb* APIs.

This could make things interesting. Standard User Analyzer uses these APIs today to create mitigation databases for UAC issues. I wonder what other people can come up with to automate the mapping of problems to solutions.

Comments (2)

  1. heaths says:

    Actually, the ACT UI won’t open system SDBs except for sysmain.sdb which is why I wrote this. I wanted to see what was in the other databases. Only some of the APIs I used were documented; others I saw exported that had a similar signature and 1 took some debugging and experimentation.

Skip to main content