I've developed an application with Strawberry Perl 5.8.9.4
using wxPerl
. The application is compiled using:
wxpar -f Crypto -F Crypto -M Filter::Crypto::Decrypt --compress=9 --gui --icon=icon.ico --lib=./lib --module=App::Order --module=Wx --module=App::GUI::Main --module=App::GUI::Frame --module=App::GUI::Forms::Settings --module=App::GUI::Forms::Settings::Signature --module=App::Task::StripAndMail --module=App::Mode::Terminal --module=App::Mode::GUI --output="bin\PDF Mailer.exe" "PDF Mailer.pl"`.
I've come to the point of deploying it to the customers PC. For this I use a setup created with InnoSetup which copies all the required DLL's to the system32 folder. I've tested this on my own and on another system that doe开发者_如何学Gosn't have Strawberry Perl installed. This other system made me figure out which DLL's I needed to include, which are:
- libeay32.dll
- mingwm10.dll
- wxbase28u_gcc_wxp_binary_10_0.dll
- wxmsw28u_adv_gcc_wxp_binary_10_0.dll
- wxmsw28u_core_gcc_wxp_binary_10_0.dll
However, my client installed the setup and upon starting the application the cursor just changes to the loading indicator and returns normal afterwards. The application doesn't seem to properly startup nor is it reporting a missing DLL.
I've had the same problem before when mingwm10.dll
was missing. So I think it's a missing DLL, but I've got no clue where to seek.
I've modified my system's PATH to only include the system32 folder to make sure the application starts with the DLL's provided in the app's folders. I also removed all DLL's that were isntalled by my setup from the system32 folder.
My development machine is running Windows XP Prof. SP3. The system of the client is running Windows XP Home SP3.
Any thoughts or pointers would be much appreciated.
I found my problem. It's actually a bug with Strawberry Perl which already has been reported here. I decided to compile it without the --gui
, --compress
flags and Crypto filter. Because I had left out --gui
it would return me an error message to the console. The error mentioned that PAR::Heavy
couldn't be found. According the message I linked to earlier it was because of the path in which PAR::Heavy resides. So I added --lib=C:/strawberry/perl/vendor/lib
to wxpar, recompiled and everything works like it's supposed to again. Until this bug is being fixed this ought to do the trick.
精彩评论