http://qs321.pair.com?node_id=216218


in reply to Shipping standalone perl apps on Win32

Just a question ... you say that after you generate the EXE you may need to copy the DLLs it uses into the same directory as is the EXE. But there's a big problem with this. Suppose you use two modules Foo::Something and Bar::Something. Both these modules have an XS part and therefore a DLL. But both DLLs are named Something.DLL !!!

How do you solve this?

I'm not sure about perl2exe, but PerlApp (from ActiveState's PDK) solves this by renaming the DLLs based on their MD5 hash (eg. 818b4489de35cc38bfbca181f20a1f1e.dll) and somehow changes the DLL loading so that the right DLL is found. Plus PerlApp and perl2exe packs the DLLs into the EXE so you do not have to care about them. To install your application you only have to copy the EXE.

I don't say App::Packer is useless, far from it, but I'm afraid it'll take some time for it to get where perl2exe and PerlApp are now.

Jenda