代码之家  ›  专栏  ›  技术社区  ›  Htbaa

为什么我的Windows wxPerl应用程序不能启动?

  •  3
  • Htbaa  · 技术社区  · 15 年前

    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::Frame--module=App::gui::Forms::Settings--module=App::Task::StripAndMail--module=App::Mode::终端--module=App::Mode::Mode--output=“bin\PDF Mailer.exe”“PDF Mailer.pl”`。

    我已经到了将其部署到客户PC的地步。为此,我使用了使用InnoSetup创建的安装程序,它将所有必需的DLL复制到system32文件夹。我已经在自己和另一个没有安装草莓Perl的系统上进行了测试。另一个系统让我弄清楚需要包含哪些DLL,它们是:

    • mingwm10.dll
    • wxbase28u_gcc_wxp_二进制_10_0.dll
    • wxmsw28u_adv_gcc_wxp_binary_10_0.dll

    但是,我的客户机安装了安装程序,在启动应用程序时,光标只是变为加载指示符,然后返回正常。应用程序似乎没有正确启动,也没有报告丢失的DLL。

    我以前也有过同样的问题 mingwm10.dll 他失踪了。所以我认为这是一个丢失的DLL,但我不知道在哪里寻找。

    我已经修改了我的系统路径,只包含system32文件夹,以确保应用程序以应用程序文件夹中提供的DLL启动。我还从system32文件夹中删除了安装程序安装的所有DLL。

    我的开发机器运行的是Windows XP Prof.SP3。客户端的系统运行的是Windows XP Home SP3。

    如有任何想法或建议,将不胜感激。

    1 回复  |  直到 15 年前
        1
  •  3
  •   Htbaa    15 年前

    我发现了我的问题。这实际上是一个草莓Perl的bug,已经有报道了 here --gui --compress 标志和加密过滤器。因为我漏掉了 PAR::Heavy 找不到。根据我之前链接到的消息,这是因为PAR::Heavy所在的路径。所以我补充说 --lib=C:/strawberry/perl/vendor/lib 到wxpar,重新编译,一切都像预期的那样工作。在这个bug被修复之前,应该这样做。