我用Strawberry Perl 5.8.9.4
using开发了一个应用程序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"`。
我已经到了将其部署到客户 PC 上的地步。为此,我使用使用 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 启动。我还从 system32 文件夹中删除了我的安装程序安装的所有 DLL。
我的开发机器运行的是 Windows XP Prof. SP3。客户端系统运行Windows XP Home SP3。
任何想法或指示将不胜感激。