Let’s say you are trying to develop a new Windows application, say a new kind streaming media player. You want to find all the possible places, interfaces, and settings in both XP and Vista that your application will touch and interact with. You want to write your code so that your customers can install your software and have it work without interfering with Windows Media Player or other Microsoft-supplied applications that come with Windows by default.
So you go to Microsoft’s Developer Network Web site and spend a couple of hours digging around, and you come back with a pile of documentation that is confusing and conflicting. What you would really like is a single authoritative source for this information, presented in a way that you as a developer can understand and use. Thankfully, there is a solution, called the ISV Settings Manager that is found in an odd place.
The problem is that Windows these days is very complicated. While it is easy for anyone to install software –- you just click on the link on a Web site and download to your desktop –- getting this software to work reliably isn’t so easy. Where does the software go: on the quick launch toolbar, as a desktop icon, under a particular menu? What happens when the application depends on automatic preferences in Windows, such as the function that plays a music CD with the preferred music player? Does your application need to modify the existing file associations settings? Which registry keys are needed to be modified so that your application won’t step on something else? These are not simple questions, and the more you want your independent application to work smoothly with these various experiences, the harder it is to write the right code.
The ISV Settings Manager tools that are available from the link above manage all of these issues, and put in one place everything that is needed for a new application to work on both Vista and XP. It has been up on The Technical Committee’s Web site for several months and was written so “that developers have an easier job finding and selecting registry settings for their applications,” according to the site explanation. There are several files available for downloading, include the entire source code listing.
So who is The Technical Committee, and why did they do this? It sounds like something from a bad Bond film (one can argue if this is redundant), but they are a small group of people that are responsible for keeping Microsoft on the straight and narrow path after the US Justice Department won their monopoly case against Microsoft back in 2002. The TC was created to monitor Microsoft’s compliance to the final ruling, have access to Microsoft source code, and obtain documentation from Microsoft when it needs to.
Apparently, when TC members tried to find all of this documentation for Windows interfaces, they found the mass of conflicting MSDN notes and set out to write their own. It is a great resource, and no Windows developer should be without this tool.