in reply to Re^14: Trouble Installing Win32::GuiTest
in thread Trouble Installing Win32::GuiTest

Hi Rob, Thanks once again for your help. I have copied all dll files present in strawberry perl to c:\perl64\bin and ran the installation. Thankfully, I was able to install Win32::GuiTest module on perl64 successfully. But my problem still not solved reason being, I have a automated framework suite where I have used Win32::GuiTest module to test the GUI functionality of the windows application 32 bit and 64 bit. This module perfectly working fine for 32 bit application but for 64 bit application it fails for APIs like GetPopupHandle, GetListContents etc. Moreover with this I have one more module named "TreeView.pm" (Win32::GuiTest::TreeView) this module basically traverse the systreeview class and provide us the relevant information but this module also not working properly on windows 64 bit application. So, unfortunately again I got stuck and wondering now what to do and also want to know that this module Win32::GuiTest compiled as 64 bit by 64 bit compiler or its simply installed as 32 bit. Thanks.

  • Comment on Re^15: Trouble Installing Win32::GuiTest

Replies are listed 'Best First'.
Re^16: Trouble Installing Win32::GuiTest
by syphilis (Archbishop) on Aug 22, 2012 at 12:16 UTC
    for 64 bit application it fails for APIs like GetPopupHandle, GetListContents etc.

    I don't know whether that happens because all of the files you copied across have broken Ruben's compiler ... or whether its' something that's happening for other reasons.

    If you like to provide a small script that demonstrates your problem on 64-bit perls (and is something that I could run), I'll give it a run (using my 64-bit compiler, which I know to be unbroken) and see if I get the same problem.
    (Probably best to provide the demo in a new thread - I don't think there would be many people still following *this* thread.)

    Cheers,
    Rob
Re^16: Trouble Installing Win32::GuiTest
by BrowserUk (Patriarch) on Aug 22, 2012 at 12:25 UTC

    FWIW: Win32::GuiTest version 1.60 compiles & tests okay, if a little noisily using MSVC 64-bit:

    [13:21:18.88] C:\Perl64\packages\Win32-GuiTest-1.60>makefile Checking if your kit is complete... Looks good Writing Makefile for Win32::GuiTest [13:21:26.25] C:\Perl64\packages\Win32-GuiTest-1.60>nmake Microsoft (R) Program Maintenance Utility Version 9.00.21022.08 Copyright (C) Microsoft Corporation. All rights reserved. cp lib/Win32/GuiTest/GuiTest.pc blib\lib\Win32\GuiTest\GuiTest.pc cp lib/Win32/GuiTest/Examples.pm blib\lib\Win32\GuiTest\Examples.pm cp lib/Win32/GuiTest.pm blib\lib\Win32\GuiTest.pm cp lib/Win32/GuiTest/Cmd.pm blib\lib\Win32\GuiTest\Cmd.pm C:\perl64\bin\perl.exe -IC:\Perl64\lib -IC:\Perl64\lib C:\Perl +64\lib\ExtUtils\xsubpp -typemap C:\Perl64\lib\ExtUtils\typemap -type +map pe cl -c -nologo -GF -W3 -MD -Zi -Ox -GL -fp:precise -DWIN32 - +D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DWIN64 -DUSE_SITECUSTOMIZE - +DPRIVL GuiTest.cpp GuiTest.xs(135) : warning C4267: '=' : conversion from 'size_t' to 'in +t', possible loss of data GuiTest.xs(153) : warning C4244: 'initializing' : conversion from 'WPA +RAM' to 'int', possible loss of data GuiTest.xs(154) : warning C4244: 'initializing' : conversion from 'LPA +RAM' to 'int', possible loss of data GuiTest.xs(159) : warning C4244: 'initializing' : conversion from 'WPA +RAM' to 'int', possible loss of data GuiTest.xs(160) : warning C4244: 'initializing' : conversion from 'LPA +RAM' to 'BOOL', possible loss of data GuiTest.xs(174) : warning C4244: 'initializing' : conversion from 'LPA +RAM' to 'BOOL', possible loss of data GuiTest.xs(264) : warning C4996: 'sprintf': This function or variable +may be unsafe. Consider using sprintf_s instead. To disable deprecati +on, us C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\Include\ +stdio.h(366) : see declaration of 'sprintf' GuiTest.xs(274) : warning C4244: 'initializing' : conversion from 'WPA +RAM' to 'int', possible loss of data GuiTest.xs(278) : warning C4244: 'initializing' : conversion from 'WPA +RAM' to 'int', possible loss of data GuiTest.xs(589) : warning C4996: 'sprintf': This function or variable +may be unsafe. Consider using sprintf_s instead. To disable deprecati +on, us C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\Include\ +stdio.h(366) : see declaration of 'sprintf' GuiTest.xs(609) : warning C4244: 'initializing' : conversion from 'LRE +SULT' to 'int', possible loss of data GuiTest.xs(1098) : warning C4244: 'initializing' : conversion from 'LR +ESULT' to 'int', possible loss of data GuiTest.xs(1115) : warning C4244: '=' : conversion from 'LRESULT' to ' +int', possible loss of data GuiTest.xs(1152) : warning C4244: '=' : conversion from 'LRESULT' to ' +int', possible loss of data GuiTest.xs(1410) : warning C4244: 'initializing' : conversion from 'LR +ESULT' to 'int', possible loss of data GuiTest.xs(1430) : warning C4244: 'initializing' : conversion from 'LR +ESULT' to 'int', possible loss of data GuiTest.xs(1460) : warning C4244: '=' : conversion from 'LRESULT' to ' +int', possible loss of data GuiTest.xs(1473) : warning C4244: 'initializing' : conversion from 'LR +ESULT' to 'int', possible loss of data GuiTest.xs(1510) : warning C4267: '=' : conversion from 'size_t' to 'i +nt', possible loss of data GuiTest.xs(1569) : warning C4996: 'strnicmp': The POSIX name for this +item is deprecated. Instead, use the ISO C++ conformant name: _strnic +mp. Se C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\Include\ +string.h(217) : see declaration of 'strnicmp' GuiTest.xs(1753) : warning C4244: '=' : conversion from 'IV' to 'LONG' +, possible loss of data cl -c -nologo -GF -W3 -MD -Zi -Ox -GL -fp:precise -DWIN32 - +D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DWIN64 -DUSE_SITECUSTOMIZE - +DPRIVL DibSect.cpp DibSect.cpp(120) : warning C4334: '<<' : result of 32-bit shift implic +itly converted to 64 bits (was 64-bit shift intended?) DibSect.cpp(230) : warning C4996: 'fopen': This function or variable m +ay be unsafe. Consider using fopen_s instead. To disable deprecation, + use _ C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\Include\ +stdio.h(237) : see declaration of 'fopen' Running Mkbootstrap for Win32::GuiTest () C:\perl64\bin\perl.exe -MExtUtils::Command -e chmod -- 644 Gui +Test.bs C:\perl64\bin\perl.exe -MExtUtils::Mksymlists -e "Mksymlists( +'NAME'=>\"Win32::GuiTest\", 'DLBASE' => 'GuiTest', 'DL_FUNCS' => { } +, 'FUN link -out:blib\arch\auto\Win32\GuiTest\GuiTest.dll -dll -nolog +o -nodefaultlib -debug -opt:ref,icf -ltcg -libpath:"C:\Perl64\lib\CO +RE" - Creating library blib\arch\auto\Win32\GuiTest\GuiTest.lib and objec +t blib\arch\auto\Win32\GuiTest\GuiTest.exp Generating code Finished generating code if exist blib\arch\auto\Win32\GuiTest\GuiTest.dll.manifest mt +-nologo -manifest blib\arch\auto\Win32\GuiTest\GuiTest.dll.manifest - +output if exist blib\arch\auto\Win32\GuiTest\GuiTest.dll.manifest del + blib\arch\auto\Win32\GuiTest\GuiTest.dll.manifest C:\perl64\bin\perl.exe -MExtUtils::Command -e chmod -- 755 bli +b\arch\auto\Win32\GuiTest\GuiTest.dll C:\perl64\bin\perl.exe -MExtUtils::Command -e cp -- GuiTest.bs + blib\arch\auto\Win32\GuiTest\GuiTest.bs C:\perl64\bin\perl.exe -MExtUtils::Command -e chmod -- 644 bli +b\arch\auto\Win32\GuiTest\GuiTest.bs [13:21:35.09] C:\Perl64\packages\Win32-GuiTest-1.60>nmake test Microsoft (R) Program Maintenance Utility Version 9.00.21022.08 Copyright (C) Microsoft Corporation. All rights reserved. C:\perl64\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_ha +rness(0, 'blib\lib', 'blib\arch')" t/*.t t/01_basic.t ..... ok t/02_calc.t ...... skipped: this test is phased out t/03_cpl.t ....... ok t/04_std.t ....... ok t/05_which.t ..... ok t/06_sendkeys.t .. ok All tests successful. Files=6, Tests=72, 8 wallclock secs ( 0.09 usr + 0.03 sys = 0.13 CP +U) Result: PASS

    If there are any specific tests you want run for comparison purposes ...


    With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.

    The start of some sanity?