--- In [email protected], "brucexs" <bswit...@...> wrote:
First of all, should we take this entire thread to email or leave it here on
the forum? Doesn't matter to me but wanted to ask.
I checked all the registry keys and they are present with the exception of the
last one which you state does not seem to matter. I manually added it just to
be sure and it did not make any difference either.
As for the dll not looking to be built correct I was basing that on the fact
that all the other shell extension dll's from other products (that are listed
in the registry) have a file type of application extension but also have a
"version" tab but the 64-bit dll I built is missing the version tab. Even the
32-bit one I built has it. Thus it makes me wonder if it is not getting built
correctly.
Using dumpbin/exports I can see the following. It is missing dllmain. To be
fair though the original dll does not show dllmain either.
Section contains the following exports for PPROCTX.dll
00000000 characteristics
4A946F54 time date stamp Tue Aug 25 18:10:12 2009
0.00 version
2 ordinal base
2 number of functions
2 number of names
ordinal hint RVA name
2 0 00001668 DllCanUnloadNow
3 1 00001900 DllGetClassObject
Summary
1000 .data
1000 .pdata
1000 .rdata
1000 .reloc
2000 .text
I am going to try to compile it on my 64-bit machine and see if that helps. I
had been cross-compiling on a 32-bit machine. If that does not help then I will
pursue adding the logging calls.
>
> w?
> >
> > 2. If so, try adding logging calls shellext.cpp in
> > - dllmain under process attach and process detach
> > - throughout the reamining routines both at the start of the routines and
> > just before return statements in if statements so we can say what is being
> > called and what condition it is returning (will need to add #include for
> > pprodebug.h header file).
> >
> > If nothing gets logged at all, and the registry seems right, then that will
> > be a puzzler indeed.
> >
>
>
> You can also look into attaching the debugger to explorer and creating a
> debug version of the dll; I believe this is possible but I have never done
> it. Not sure if you can do it with express version, however.
>