如何在 par::packer 生成的 exe 文件之间共享共同点?

发布于 2024-12-10 15:23:22 字数 342 浏览 0 评论 0 原文

我刚刚尝试使用 Par::Packer 从 Perl 脚本生成 *.exe 文件,该工具按预期工作正常。

现在的情况是我想将基于 Perl 的应用程序作为一组实用程序(exe 文件)进行分发,每个实用程序都有一个相应的 Perl 脚本,并且它们几乎共享一些通用模块(包括 Perl 内容)。这导致每个生成的 *exe 文件都因相似的代码而变得臃肿。

我尝试在pp中附加--dependency选项,这在一定程度上减少了大小,虽然只是将perl.dll从打包文件中移出,但公共模块仍然存在。我认为应该有其他一些方法来解决这个问题。

有什么建议吗?先感谢您。

I've just tried to generate *.exe files from Perl scripts by using Par::Packer, the tool works fine as expected.

The situation now is I would like to distribute my Perl based application as a group of utilities (exe files), for each of them there is a corresponding Perl scripts, and they are sharing some common modules (including Perl stuff) pretty much. This results in each of the generated *exe files are bloated by similar codes.

I tried to attach --dependency option to pp, which reduce the size in some extent, while it just move the perl.dll out of the packaged file, the common modules are still there. I think there should be some other approaches to resolve this.

Any suggestions? Thank you in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

陈甜 2024-12-17 15:23:22

http://cava.co.uk/ 提供开箱即用的功能,允许您轻松创建 . msi 风格的安装程序,无论您想要多少脚本都可以作为 .exe 文件使用(所有模块和其他所需的一切都是共享的)

您也可以打包 Par::WebStartperlws,并使用其 make_par 打包每个应用程序,然后使用 appshortcut 调用每个应用程序。 lnkappshortcut.batappshortcut.exe ,它只是执行 system "perlws.exe appshortcut.pnlp"

或者你可以把你所有的实用程序到模块中(无论如何你都应该这样做),然后将它们全部用 pp 打包到一个 .exe 中,然后创建
foo.exe bar.exe baz.exe ... 只是做 system "mybigexe.exe foo.exe"

更改图标... exe_update< /代码>(来自cpan)

http://cava.co.uk/ provides that out of the box, allows you to easily create a .msi style installer, with however many scripts you want available as .exe files (and all modules and everything else required is shared)

You could also pack Par::WebStart's perlws, and pack each app using its make_par, then invoke each app using appshortcut.lnk or appshortcut.bat, or appshortcut.exe which just does system "perlws.exe appshortcut.pnlp"

or you could turn all your utilities into modules (you should do that anyway), and then pack them all with pp into a single single .exe, then create
foo.exe bar.exe baz.exe ... which just do system "mybigexe.exe foo.exe"

change the icons... with exe_update (from cpan)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文