My original attempt was to get the FileMon.exe NetFX 4.0 sample running on a Windows 7 64 bit machine.
I've created a link to it, checked execute as admin and added the PID for explorer.exe
The result was a crashing FileMon.exe without message. EventLog did not generate more information except standard protocol.
So I grabbed the 2.7 trunk with my VS 2012 SP 3. Converted the solutions to 2012 and started a build.
After many many warnings compiling of EasyHookDll failed with LNK2026 module unsafe for SAFESEH image.
So I disabled SAFESEH for EasyHookDll and rebuilt the thing which resulted in
Error 1 error LNK2005: ___report_gsfailure already defined in GS_x86.lib(gs_report.obj) D:\temp\EasyHook\EasyHookDll\LIBCMTD.lib(gs_report.obj)
Error 2 error LNK1169: one or more multiply defined symbols found D:\temp\EasyHook\Debug\x86\EasyHook32.dll 1
Adding libcmtd.lib to ignored libs results in even more linker issues. This looks like an issue mixing dlls which have static and dynamic crt linking enabled.
Well I ignored the the issues for now and only compiled FileMon.exe and copied the official binary releases of EasyHook etc to see where the problem is.
Funny enough the
"A FileMon like demo application.",
code fails because if (!File.Exists(AsmPath)) (Config.cs:175) seems to return true for the very first location which was added by
Now, if I debug this line and add it to Watch list the if condition does not return true however even with the debugger attached the if condition is triggered resulting in a file not found exception.