http://www.perlmonks.org?node_id=954879

roteme has asked for the wisdom of the Perl Monks concerning the following question:

Hi,

I've compiled my perl application with perl2exe (p2x-10.40-Win64).

My perl file use Win32 module.

When i run the exe on Win64 machine i got the following errors:

Can't load 'C:\DOCUME~1\eilat\LOCALS~1\Temp/p2xtmp-2932/auto/Win32/Win +32.dll' for module Win32: load_file:%1 is not a valid Win32 applicati +on at PERL2EXE_STORAG E/DynaLoader.pm line 201. at Z:\Robcad_91_Silent_Win64.exe line 37 Compilation failed in require at Z:\Robcad_91_Silent_Win64.exe line 37 +. BEGIN failed--compilation aborted at Z:\Robcad_91_Silent_Win64.exe lin +e 37.

Please advice.

Thanks

Replies are listed 'Best First'.
Re: perl2exe - Win32.dll error on Win64 machine
by BrowserUk (Patriarch) on Feb 19, 2012 at 18:31 UTC
    Please advice.

    The error is probably on line 37, but you can never rule out that sneaky line 42.

      Failed to run my perl executable which compiled by perl2exe on Win64 machine.

      Failed with the following error:

      Can't load 'C:\DOCUME~1\eilat\LOCALS~1\Temp/p2xtmp-1340/auto/Win32/Win +32.dll' fo r module Win32: load_file:%1 is not a valid Win32 application at PERL2 +EXE_STORAG E/DynaLoader.pm line 201. at Z:\Win64.exe line 19 Compilation failed in require at Z:\Win64.exe line 19. BEGIN failed--compilation aborted at Z:\Win64.exe line 19.

      Line 19 in my code is:

      use Win32;

      What am i miss?doing wrong?

      How can i use win32.dll in my Exe for Win64 machine?

        What am i miss?doing wrong?

        As best as I can tell from that, you're probably doing nothing wrong. As our anonymous friend said, you'll have to contact IndigoStar for a resolution, as it look like a bug in their software rather than your code.


        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?

        contact manufacturer for support :)
Re: perl2exe - Win32.dll error on Win64 machine
by nikosv (Deacon) on Feb 20, 2012 at 12:42 UTC

    the perl2exe manual says :
    "The following comments in your source code will affect the way that perl2exe operates :
    #perl2exe_include modulename"

    So try adding :
    #perl2exe_include Win32;
    at the top of your script. it is possible that perl2exe does not find the dependencies without it

    why don't you use PAR ?

      I added the your recommendation to my perl program - and the problem is not resolved.

      #perl2exe_include Win32;

      Do you have another idea?

      What it is PAR?</> I need to distribute my Perl to Windows machine: Win32 and Win64 with XP and Win7

      Is PAR supports these requirements?

        PAR is like perl2exe, just like PerlApp , or http://www.cava.co.uk/

        When you run into errors like this, you'll have to contact support