Если вы хотите знать, будет ли ваш pp-упакованный исполняемый файл работать в системе без установленного perl, вот как я это делаю:
Загрузите Process Explorer с сайта sysinternals.com.
Упакуйте свой исполняемый файл.
Запустите исполняемый файл и проверьте dll процесса в ProcessExplorer
(просмотр -> «Показать нижнюю панель» и просмотр -> «Просмотр нижней панели» -> «DLLs»)
Если вы видите какую-либо dll, ссылающуюся на путь, отличный от PAR-temp-dir или системных библиотек, которые присутствуют в любой системе Windows, вернитесь, упакуйте снова и добавьте эти библиотеки, используя ключ pl -l.
Пример:
pp -e "use XML::LibXML; while(1){sleep 1}"
работает a.exe ...
Диспетчер процессов отображает:
libxml2-2_.dll ... C:\Users\user\perl522\c\bin\libxml2-2_.dll
это не будет присутствовать в системе пользователя ...
перезапуск pp:
pp -l libxml2-2_.dll -e "use XML::LibXML; while(1){sleep 1}"
работает a.exe ...
Диспетчер процессов отображает:
libxml2-2_.dll ... C:\Users\user\AppData\Local\Temp\par-xxx\cache-SHA1\libxml2-2_.dll
Теперь процесс выбирает библиотеку, которая была связана с pp и извлекается в кеш-каталог PARs.
Ура, Крис