FileIndexer is a set of projects to index file using tags:

  • FileIndexer Shell Extension is used to add tags to selected file from property applet of Windows Shell,
  • FileIndexer application is used to perform file searches using tags,
  • FileIndexer Service is used to mantain data integrity over deletion and cut & paste operations.
  • FileIndexer Common Library used by other projects to access data.



Notes
FileIndexer Shell Extension is based on this project:
http://www.codeproject.com/cs/miscctrl/HadiPropertySheet.asp

FileIndexer Common Library uses provider pattern to implement data access.
This version uses FileIndexerLib.SqlClient.SqlFileIndexerProvider for SQLServer 2005,
but it's simple to implement a class for a different datasource.

Setup
  • copy dwWrapper.dll into system32 folder
  • Use RegAsm FileIndexerShellEx.dll to register .NET library to be used as COM object
  • Update Registry

Register the new property sheet to all files

{" [HKEY_CLASSES_ROOT\*\shellex\PropertySheetHandlers\FileIndexerSheet]
@="{7402e3c6-b989-4cd8-afe0-4b564147bc2e}" "}

Register Shell Extension as approved

{" [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved]
"{7402e3c6-b989-4cd8-afe0-4b564147bc2e}"="FileIndexerSheet" "}

Common setup:
connection is the db connection string of database that is used to store file informations.
Directory is the name of directory used to index file.

{" [HKEY_LOCAL_MACHINE\SOFTWARE\FileIndexer]
"Connection"="Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Kits\\FileIndexer\\FileIndexer\\FileIndexer.mdf;Integrated Security=True;User Instance=True"
"Directory"="C:\\Kits"
"FileIndexer Provider Type"="FileIndexerLib.SqlClient.SqlFileIndexerProvider"
"Include Subdirectories"="True" "}

  • Setup service: InstallUtil FileIndexerService.exe
Service account must have privileges to access to the directory and connect to sql database if it's used trusted security
Last edited Jul 10 2007 at 2:10 PM by manu, version 8
Comments
No comments yet.

Updating...
© 2006-2009 Microsoft | About CodePlex | Privacy Statement | Terms of Use | Code of Conduct | CodePlex Blog | Version 2008.12.9.14291