Я разработал приложение с Strawberry Perl 5.8.9.4
, используя wxPerl
. Приложение скомпилировано с использованием:
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"`.
Я пришел к тому, чтобы развернуть его на ПК клиентов. Для этого я использую установку, созданную с помощью InnoSetup, которая копирует все необходимые DLL в папку system32. Я проверил это самостоятельно и на другой системе, на которой не установлен Strawberry Perl. Эта другая система заставила меня выяснить, какие DLL мне нужно включить, а именно:
- 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
Однако мой клиент установил установку, и при запуске приложения курсор просто меняется на индикатор загрузки, а затем возвращается в нормальное состояние. Приложение не запускается должным образом и не сообщает об отсутствующей DLL.
У меня была такая же проблема раньше, когда mingwm10.dll
отсутствовал. Так что я думаю, что это отсутствующая DLL, но я понятия не имею, где искать.
Я изменил PATH своей системы, включив в нее только папку system32, чтобы убедиться, что приложение запускается с DLL, предоставленными в папках приложения. Я также удалил все DLL, которые были установлены моей установкой, из папки system32.
Моя машина для разработки работает под управлением Windows XP Prof. SP3. Система клиента работает под управлением Windows XP Home SP3.
Любые мысли или указатели будут высоко оценены.