Searching MSDN

MSDN has such an amazingly huge amount of content that it can often be cumbersome to find what you are looking for. For example, in the latest MSDN (published with Visual Studio 2008), if I try browsing the index for "JOIN", I have to scroll past 50+ entries in order to get to SQL's JOIN information. I shouldn't really need to wade through pages of entries which I never care about.


Fortunately for us, it is fairly easy to strip out some of the products/technologies which we rarely use, and with greater precision than is allowed via the installation settings. Since MSDN will build its index dynamically based on the documentation files located in the installation directory, we are given indirect control over the index content. Because of this design, we can remove some of the .hxs files from the directory and they will automatically be removed from the index the next time MSDN is restarted.


If we run these commands from the MSDN content directory (in my case it was in “C:\Program Files\MSDN\MSDN9.0\1033”)

md removed_files

move dv_fxsamples.hxs removed_files

And then restart MSDN, it will rebuild its index (which will take several minutes) and the result, in this case, will no longer contain entries for some of the .NET framework samples. Finding the correct filename is just a matter of looking at the address bar in MSDN for a content page you don't care about.


Now, on the off chance that you do need to look up something for which you have unceremoniously removed from the library, you can always restore the files from the backup directory, or just search for it in the online MSDN site (

Searching the Web

When searching the web, there is often a plethora of sites that you need to wade past in order to find what you are looking for. Adding "inurl:msdn" to your search string can help tremendously, but then there are times when 3rd party pages may have the information you are looking for. Luckily for us, Google created their Custom Search engine. This lets us bubble Microsoft's sites up to the top of the page, yet still retain the ability to scan through other providers.


Here is the custom search which I frequently use: