http://qs1969.pair.com?node_id=1051623


in reply to Re^3: Win32::OLE -- translation from vbs to pl (depends.exe)
in thread Win32::OLE -- translation from vbs to pl

As I just reported in a separate reply, my code works with a 32bit strawberry perl. The messages I get from depends.exe, called as suggested above, for MGCPCBAutomationLicensing look fairly innocent:
Loaded "MGCPCBAUTOMATIONLICENSING.DLL" at address 0x00550000 by thread + 7. Successfully hooked module. DllMain(0x00550000, DLL_PROCESS_ATTACH, 0x00000000) in "MGCPCBAUTOMATI +ONLICENSING.DLL" called by thread 7. DllMain(0x00550000, DLL_PROCESS_ATTACH, 0x00000000) in "MGCPCBAUTOMATI +ONLICENSING.DLL" returned 1 (0x1) by thread 7. DllMain(0x00550000, DLL_PROCESS_DETACH, 0x00000000) in "MGCPCBAUTOMATI +ONLICENSING.DLL" called by thread 7. DllMain(0x00550000, DLL_PROCESS_DETACH, 0x00000000) in "MGCPCBAUTOMATI +ONLICENSING.DLL" returned 1 (0x1) by thread 7. Unloaded "MGCPCBAUTOMATIONLICENSING.DLL" at address 0x00550000 by thre +ad 7.
When I try the same with my default 64bit perl however, I get
Failure starting the process. The request is not supported (50).
And I get this even when I just use perl.exe without any args (no program to load).

Replies are listed 'Best First'.
Re^5: Win32::OLE -- translation from vbs to pl (depends.exe)
by bulk88 (Priest) on Sep 04, 2013 at 06:59 UTC
    Dependency Walker comes in a 32 and 64 bit version, they only understand processes of the same bitness.
      I'll try to look into that even though www.dependencywalker.com says
      Dependency Walker runs on Windows 95, 98, Me, NT, 2000, XP, 2003, Vist +a, 7, and 8. It can process any 32-bit or 64-bit Windows module [...]
        Scroll down. There are 2 different ZIPs at the bottom.

        It can process any 32-bit or 64-bit Windows module

        :) the faq says: only the 64-bit version of Dependency Walker can fully access the 64-bit environment, so it should always be used for processing 64-bit modules.