You can probably use PAR (mentioned here) to package up you Perl script and the modules that it needs.
There are other packaging options and links to more background in the node Re: perl exe execution.
DWIM is Perl's answer to Gödel
| [reply] |
I use the ActiveState PDK utility PerlApp to create exe's that include the Win32::API modules. I deploy on around 1600 machines routinely with no need for a Perl install and no issues in the deployment.
I believe that Win32::API is installed by default with ActiveStates Perl build. SOunds like you are doing something the hard way here.
jdtoronto | [reply] |
One solution would be to install Win32::API on the other boxes using ppm (assuming those other machines are Win32 machines).
If those other machines are not Win32, then Win32::API aint gunna work no matter what you do.
Cheers, Rob | [reply] |
As mentioned above, if you are using Active State perl on these machines, then Win32::API should already be installed on them. If you are using one of the other flavours, then it may not be.
If all the machines are running the same (major) version of perl (5.6.* or 5.8.*), then you need only compile modules once. They can then just be copied to the appropriate places on the target machine.
It's easy to zip up the required files on the build machine (that is running the same version of perl as the target machines), and unzip them directly into the appropriate places on the target machines. It avoids all the dependancies (nmake gzip etc.), and the 3-way duplication of files that the standard build/install mechanisms impose. The downside is you would need to write and test the scripts/procedures for doing this yourself.
PAR effectively does this for you, though you pay the small price of the 'install' (unzipping) being done each time the program is run, rather than just once if you do it manually.
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
| [reply] |
if you are using Active State perl on these machines, then Win32::API should already be installed on them.
(Very) minor quibble - ActiveState perl does not come with Win32::API ... ummm ... or do I mean the converse ... :-)
E:\>perl -e "print $ActivePerl::VERSION"
817
E:\>perl -MWin32::API -e "print $Win32::API::VERSION"
Can't locate Win32/API.pm in @INC (@INC contains: E:/Perl817/lib E:/Pe
+rl817/site
/lib .).
BEGIN failed--compilation aborted.
Cheers, Rob | [reply] [d/l] |
Hi icg,
Why can't you convert the script to exe file and put it in another machine.If you convert the script to exe then it wont expect any supporting modules in the other systems....
Hope it might be useful for your problem.....
Thanks and Regards,
madtoperl. | [reply] |
Hi,
Thanks for your help. Converting into an exe was one of the options. But I knew only about perl2exe which requires license, etc. Now, I came to know of PAR package.
Thanks,
Gowtham
| [reply] |