How to make a portable packager from a PAR pp exectuable

Create an empty directory where you want to run the application. We'll call it "target" later on.
In this example, we assume the program is called "Foo"

1. Open your %temp% directory and locate the par-xxx cache directory. Delete it completely.
2. Run the PAR packed executable once
3. Open the fresh cache directory in %temp%\par-xxx Likely it's named cache-Foo-xx
4. Move the complete inc\lib directory to "target"
5. Move inc\script\Foo to "target" and rename it to Foo.pl
6. Move perl5xx.dll to "target"
7. If the PAR archive has been built with Strawberry Perl, you need also libgcc_s_dw2-1.dll, libstdc++-6.dll and libwinpthread-1.dll 
8. Copy ppl.exe to "target" and rename it to "Foo.exe"
9. Delete the cache directory

Done - Now you can run your application simply by starting application.exe

The "unpar.cmd" batch file will do these steps automatically:

Put unpar.cmd and ppl.exe in a new directory and drag/drop exiftool.exe onto unpar.cmd

This will run your PAR-packed application once, so it might need some user interaction

As soon as the application is finished, unpar.cmd builds the new package and deletes the temp files afterwards.

Johan Vromans aka "sciurius", the developer of ChordPro, made a better tool to unpack an archive created by pp:

https://github.com/ChordPro/chordpro/blob/dev/pp/pp2ppl.pl 
