Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Search Indexing is interfering with our build process, and I would like to exclude all instances of our dev directories from the indexer (we have a trunk and branches setup).
I could exclude the whole parent directory, but that would exclude too many files.

I can do it manually by deselecting each instance in the indexing options, but this is very manual and tedious.

I've found the rules in the registry at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Search\CrawlScopeManager\Windows\SystemIndex\WorkingSetRules, but I don't know if it's kosher to update that on the fly.

Is it possible to exclude directories from Windows Search by wildcard or some other less-manual criteria?

share|improve this question

1 Answer 1

up vote 8 down vote accepted

I looked in the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Search\CrawlScopeManager\Windows\SystemIndex\DefaultRules key and found something interesting.

DefaultRules\1 contains:

Default   REG_DWORD    0x00000001
Include   REG_DWORD    0x00000000
Policy    REG_DWORD    0x00000000
Suppress  REG_DWORD    0x00000000
URL       REG_SZ       file:///C:\Users\*\AppData\Local\Temp\*

Look at that URL key - two wildcards!

So since Windows Search natively supports wildcards, all we have to do is tweak an existing exception.

Adding wildcard exceptions to Windows Search

  1. Add template exception.
    Add an exception for a suitable directory by going to Indexing OptionsModify and deselecting one directory (in my case, C:\Users\MyName\dev\trunk\bin).
  2. Stop the Windows Search service.
    Go to Services, select Windows Search, right-click on it, and select Stop.
  3. Find the existing exception.
    Open Registry Editor and navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Search\CrawlScopeManager\Windows\SystemIndex\WorkingSetRules.
    Look through each numbered subkey to find yours.
  4. Tweak the exception.
    In my case, I have multiple branches checked out, so I will have directories for trunk and for each versioned branch (such as 3.2, 4.0, etc). So I changed the URL key from

    file:///C:\Users\MyName\dev\ProjectName\trunk\bin
    

    to

    file:///C:\Users\MyName\dev\ProjectName\*\bin
    
  5. Restart the Windows Search service.
    Right-click on Windows Search and select Start or Restart.

That's it! The directories are even unchecked/excluded in the Indexing Options.

share|improve this answer
    
Note that you will need to delete and rebuild your index (or delete and recreate the previously-indexed files) to prevent Windows Search from continuing to monitor those locations. –  mskfisher Apr 8 '11 at 15:59

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.