#windows #perl #activeperl #par
#Windows #perl #activeperl #par
Вопрос:
Я только что попытался сгенерировать * .exe-файлы из скриптов Perl с помощью Par ::Packer, инструмент работает нормально, как и ожидалось.
Сейчас ситуация такова, что я хотел бы распространять свое приложение на основе Perl в виде группы утилит (exe-файлов), для каждого из которых есть соответствующие скрипты Perl, и они в значительной степени используют некоторые общие модули (включая Perl-файлы). Это приводит к тому, что каждый из сгенерированных * exe-файлов раздут похожими кодами.
Я попытался прикрепить параметр —dependency к pp, который в некоторой степени уменьшает размер, в то время как он просто перемещает perl.dll из упакованного файла общие модули все еще находятся там. Я думаю, что должны быть какие-то другие подходы для решения этой проблемы.
Есть предложения? Заранее благодарю вас.
Ответ №1:
http://cava.co.uk / предоставляет это из коробки, позволяет вам легко создать установщик в стиле .msi, с любым количеством сценариев, которые вы хотите, доступных в виде файлов .exe (и все модули и все остальное, что требуется, являются общими)
Вы также можете упаковать Par ::WebStart perlws
и упаковать каждое приложение, используя его make_par
, а затем вызвать каждое приложение, используя appshortcut.lnk
or 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)
Комментарии:
1. cava кажется очень многообещающим, интересны и другие подходы. Я собираюсь попробовать их все, а затем выбрать один. Спасибо.