Как делиться общими вещами между исполняемыми файлами par :: packer? - PullRequest
2 голосов
/ 20 октября 2011

Я только что попытался сгенерировать * .exe файлы из сценариев Perl, используя Par :: Packer , инструмент работает нормально, как и ожидалось.

Ситуация сейчас такова, что я хотел бы распространять свое приложение на основе Perl в виде группы утилит (exe-файлов), для каждого из которых есть соответствующие сценарии Perl, и они совместно используют некоторые общие модули (включая Perlвещи) довольно много.Это приводит к тому, что каждый из сгенерированных * exe-файлов раздувается похожими кодами.

Я пытался прикрепить опцию --dependency к pp , которые в некоторой степени уменьшают размер, хотя этопереместите perl.dll из упакованного файла, общие модули все еще там.Я думаю, что должны быть некоторые другие подходы, чтобы решить эту проблему.

Есть предложения?Заранее спасибо.

1 Ответ

1 голос
/ 20 октября 2011

http://cava.co.uk/ обеспечивает это из коробки, позволяет легко создать установщик в стиле .msi, с любым количеством скриптов, которые вы хотите сделать доступными в виде файлов .exe (и все модули и все остальное требуется для общего доступа)

Вы также можете упаковать Par :: WebStart * perlws и упаковать каждое приложение, используя 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)

...