perldist_strawberry - Build strawberry-perl-like distribution for MS Windows


This script is used by Strawberry Perl [] project for building release packages (MSI, MSM, ZIP, portable/ZIP).


To build strawberry-perl-like distribution you will need to prepare a build environment:

  • Install any version of Strawberry Perl 5.12.x (or higher)

    We recommend using portable edition. BEWARE You'll need to install Strawberry Perl to a directory OTHER THAN C:\strawberry.

  • Install Perl::Dist::Strawberry module

    Take this module either from CPAN or the latest version from SVN []

  • Install Windows Installer XML (WiX) toolset

    We recommend using version 3.8. Download WiX from []. No need to install WiX via MSI installer, you can only download/unpack ZIPped WiX binaries and use option -wixbin_dir=(dirname).

The build process can be launched by:

  c:\> perldist_strawberry -job "<dist_sharedir>/32bit-"
  c:\> perldist_strawberry -job "<dist_sharedir>/64bit-"

The whole build process uses only 2 directories:


Check options -image_dir and -working_dir to change the defaults.

The results of the build process (*.MSI, *.MSM, *.ZIP) can be found in:


If you are about to try to build your own distribution you probably want to create a new job desription file (e.g. by cloning any of share/*.pp files distributed with this module).

Then you will run:

  c:\> perldist_strawberry -job c:\buildperl\myperl-32bit.pp

When debugging your own build you should investigate some of the additional options e.g. -restorepoints, -verbosity etc.


-job=(filename) [REQUIRED]

filename sould contain build job description, you can use placeholder '<dist_sharedir>' to choose predefined jobs which are distributed with this module (check 'share' folder in this module tarball)


default: c:\strawberry (BEWARE: dir will be destroyed during build!!)


default: c:\strawberry_build


default: autodetect WiX toolkit install directory


default: (or use local mirror e.g. file://C|/cpanmirror/)


default: (or use local mirror e.g. file://C|/pkgmirror/)

-test_modules, -notest_modules

flag - default: 1 (0 = skip tests when installing perl modules)

-test_core, -notest_core

flag - default: 0 (0 = skip tests when installing perl core)


level - default: 3 (you can use values 1/silent to 5/verbose)

-interactive, -nointeractive,

flag - default: 1 (0 = no interactive questions)

-restorepoints, -norestorepoints

flag - default: 0 (1 = create restorepoint after each finished step, in the next run you will be offered to continue from any of the saved restorepoints)


flag - default: 0 (0 = no debug, 1 = standard debug, 2 = separated .debug files [EXPERIMENTAL], 3 = separated but only for perl.dll|exe [EXPERIMENTAL])

-perl_64bitint, -noperl_64bitint

flag - default: 0 (1 = build perl core with USE_64BIT_INT / ignored on 64bit)

-perl_ldouble, -noperl_ldouble

flag - default: 0 (1 = build perl core with USE_LONG_DOUBLE)

-app_simplename=name, -app_fullname=name, -beta=N,

override job parameters: app_simplename, app_fullname, beta

-h, -help

Show this usage info.


2011+ KMX, <>

2009-2011 Curtis Jewell, <>

2007-2009 Adam Kennedy, <>


This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.