--- In [email protected], "excesspapers" <excesspap...@...> wrote:
>
> I used the info in the msdn note to modify the header file and changed 
> unit_ptr to unit to get the dll to compile. It still complains about 
> conversions to/from int and size_t but ignoring those for now I would think 
> that the dll should at least load.

I agree that the warnings do not seem serious.

-------------------------------------------------------------

>I don't think something is quite right about the DLL though. If I right click 
>it
and go to properties it does not show as a shell extension like the original
file did (even on 64-bit).

I am not sure what you mean by this.  I see "application extension" when I 
right click on pproctx.dll and select properties.

----------------------------------------------------------

> 
> I checked both the 32-bit and 64-bit registry and I find that 
> HKCR/*/shellext/contextmenuhandlers/powerpro exists in both. If I remove 
> context menu support then that registry key is removed so I think it is 
> writing to the correct location. Additionally I can see other shell ex 
> handlers in the same location that are working properly.

Can you check these other registry entries:

shellex for PowerPro includes GUID
{2EC41A81-AE31-11d2-A6E6-10E356C10000}

ROOT\CLSID\{2EC41A81-AE31-11d2-A6E6-10E356C10000}\InProcServer32
points to pproctx.dll
with apartment threading model.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell 
Extensions\Approved"
includes  value
{2EC41A81-AE31-11d2-A6E6-10E356C10000}
with string data  "powerpro context"
Actually, you will not find this one, as there is a bug in pproconf.exe that 
prevents it being set.  This has not mattered so far.  Maybe it matters on your 
win64 config.  We can leave this one to the end or you can try to set manually.


-------------------------------------------------------------


> 
> I don't think that the dll is getting built correctly. Right clicking the dll 
> shows different stuff than the original pproctx.dll file. This is what is 
> probably preventing it from loading.

Which stuff in particular?  

1.  Can you use dumpbin or some similar tool in Vis Studio to make sure dll is 
exporting dllmain, dllGetClassObject, DllCanUnloadNow?

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.



Reply via email to