The MSN Search Toolbar and Windows Desktop Search are the successors to the Lookout product. The problem I had with them is they do not allow pre-defined search configurations
like Lookout. In Lookout, you can customize the default filter for searches
in Outlook, and create a list of standard filters (recent email, last week's
files, etc.) that you can apply to any search. Since I have discovered the
WDS API documentation, which could allow me to write my own toolbars, and
this
very interesting blog about creating custom "locations" for WDS, I have
replaced Lookout with MSN Search + the WDS update. However, for those that
are still using Lookout, here is how to make it work with Microsoft .Net 2.0
installed. |
As described in an excellent article at ewbi.develops,
Lookout has a bug in it
that is revealed when the .Net 2.0 framework is installed.
The function ParseEx.ReplaceDates extracts one too many characters when
parsing the date out of the filter syntax (see the article for the
details).
|
I decided the best fix would be to patch the function in the
lookout.dll. I used the ildasm utility to create a source file, wrote
in the fix, and used ilasm to create a new dll.
|
- Install the
.Net
Framework 2.0 SDK if it is not already installed.
- Close Outlook if it is open
- Open a command prompt window (Start|Run...
cmd[Enter])
- Run the sdkvars.bat file by typing in its
full path (the full path depends on how the SDK was installed - some
possibilities include "C:\Program Files\Microsoft
SDKs\Windows\v2.0\Bin\sdkvars.bat" or "C:\Program Files\Microsoft
Visual Studio 8\SDK\v2.0\Bin\sdkvars.bat").
- Change to the Lookout folder:
cd
\Program Files\Lookout Software\Lookout
- Create the disassembly file:
ildasm
lookout.dll /out=lookout.il
- Open the source file in notepad:
notepad
lookout.il
Use the find command to locate IL_0153 - the lines will look like:
IL_014c: ldarg.1 IL_014d: ldloc.3 IL_014e: ldc.i4.1 IL_014f: add IL_0150: ldloc.s V_4 IL_0152: ldloc.3 IL_0153: sub IL_0154: callvirt instance string [mscorlib]System.String::Substring(int32, int32)br>IL_0159: stloc.s V_5
-
Add two lines to subtract one from the second argument to Substring -
the lines will look like:
IL_014c: ldarg.1 IL_014d: ldloc.3 IL_014e: ldc.i4.1 IL_014f: add IL_0150: ldloc.s V_4 IL_0152: ldloc.3 IL_0153: sub ldc.i4.1 sub IL_0154: callvirt instance string [mscorlib]System.String::Substring(int32, int32) IL_0159: stloc.s V_5
- Save the source file
- Close notepad and return to the command prompt window
- Make a backup of the lookout.dll:
ren
lookout.dll lookout.orig.dll
- Create the new, patched lookout.dll:
ilasm
/dll lookout.il
- If desired, clean up some of the source files:
del
chrome.*
- Close the command prompt window:
exit
- Open Outlook and try out a date query!
|
- Close Outlook
- Download the patched lookout.dll and save it in the Lookout folder (it is a good idea to copy the existing lookout.dll for a backup)
- Note: I have not tested this copy of lookout.dll - I sucessfully
used this process originally, but did not keep my patched dll when I
uninstalled Lookout
|
Last modified:
Thursday, July 13, 2006 .
Prepared by Pete M. Wilson
scw@gamewood.net