Packaging For Microsoft Windows
Cava Packager will successfully package wxPerl applications for Windows, Linux and MacOSX.
Alternatively you can package your applications for Windows using Wx::Perl::Packager and a packaging tool such as ActiveState PerlApp or PAR::Packer. There are instructions for PAR::Packer in the documentation for Wx::Perl::Packager. You should use version 0.25 as a minimum.
Using ActiveState PerlApp and Wx::Perl::Packager, you just need to include the Wx::Perl::Packager module at the top of your script:
use Wx::Perl::Packager;
use Wx;
.....
If your application uses threads, use the threads packages before Wx::Perl::Packager:
use threads;
use threads::shared;
use Wx::Perl::Packager 0.25;
use Wx;
.....
Recent versions of PerlApp on MS Windows will determine the necessary dlls for you. If you are using an older version of PerlApp or a different packaging method you can use the wxWidgets dependency list to determine which wxWidgets dlls are necessary and bind them to your PerlApp executable.
The PPMs from this repository contain no patches or features to assist packaging or distribution as a PPM. Using Wx::Perl::Packager and PerlApp should work for any Wx installation on Windows.
PPMs are provided for both 32 bit and 64 bit Perl. You can therefore build platform specific versions of your applications. For Wx at least, a 32 bit PerlApp Windows package should run without problems on 64 bit architecture.
Your PerlApp packaged applications will run on any version of Windows from XP / 2003 onwards. You can support Windows 2000 if you wish, but you will need to read the Windows 2000 information page.
Using an x64 64 bit version on PerlApp and 64 bit Wx PPMs, you may encounter a fault on exit when closing the application. This will be apparant when testing the app. You can work around this by binding the Wx.dll file as wxmain.dll. That is:
bind somepath..../auto/Wx/Wx.dll
as
wxmain.dll
This will fix this issue.
Note that PerlApp 8.0 and greater may report incorrect msvcrtXX.dll dependencies for the wxWidgets dll's. These errors can be ignored. The libraries link only against the known msvcrt.dll and require no additional MSVCRTXX runtimes.
Wx::Perl::Packager does not support the --dyndll option for PerlApp.
Wx::Perl::Packager does not support the --clean option for PerlApp