Я разработал приложение с Strawberry Perl 5.8.9.4
, используя wxPerl
. Приложение компилируется с использованием:
wxpar -f Крипто -F Крипто -M Фильтр :: 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 :: Формы :: Настройки --module = App :: GUI :: Формы :: Настройки :: Подпись --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.
Любые мысли или указатели будут высоко оценены.