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

标签 windows perl activeperl par

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

现在的情况是,我想将我的基于 Perl 的应用程序作为一组实用程序(exe 文件)分发,每个实用程序都有相应的 Perl 脚本,并且它们共享一些通用模块(包括 Perl 的东西)很多。这导致每个生成的 *exe 文件都被相似的代码膨胀。

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

有什么建议吗?提前谢谢你。

最佳答案

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

你也可以打包Par::WebStartperlws ,并使用其 make_par 打包每个应用程序,然后使用 appshortcut.lnk 调用每个应用程序或 appshortcut.bat , 或 appshortcut.exe这就是system "perlws.exe appshortcut.pnlp"

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

改变图标...用exe_update (来自 cpan)

关于windows - 如何在 par::packer 生成的 exe 文件之间共享共同点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7830786/

相关文章:

perl - Perl 的 WWW::Mechanize 的奇怪重定向

windows - UDP Server 监听广播

perl - 同时使用 ActivePerl 和 Strawberry

c - 为什么 `fseek(..., 0, SEEK_CUR)` 在 Windows 上失败?

windows - 如何在启动时同步计算机的时钟?

perl - 为什么我在 perl 的标量上下文中获取列表中的最后一个值?

perl - 调用SUPER::new()

perl - cpan 错误 : Unable to get Terminal Size. Win32 GetConsoleScreenBufferInfo 调用不起作用

c++ - 无法从 freeGlut 项目获取标准输出

windows - 批量检查两个文件的大小是否相同