Main Site Contents Up Previous Next

MS Windows Private Assemblies

On Microsoft Windows, Cava Packager uses a Private Assembly to ensure that your packaged perl5xx.dll and where applicable your libgcc files are never on the system path and are private to your application executables alone.

To achieve this it is necessary to place these dlls in a directory that alongside your executables in the directory structure.

For example, if you have the executable myexec.exe in:

..\Release Path\MyApp\bin\myexec.exe

Then you will also find a subdirectory created that contains the manifest and dlls to support the runtime Perl interpreter. For example, if your Perl interpreter relies on libgcc:

..\Release Path\MyApp\bin\cpfworkrt
..\Release Path\MyApp\bin\cpfworkrt\cpfworkrt.manifest
..\Release Path\MyApp\bin\cpfworkrt\perl514.dll
..\Release Path\MyApp\bin\cpfworkrt\libgcc_s_sjlj-1.dll

This Private Assembly is shared by all your executables in the 'bin' folder

On MS Windows, Cava Packager also allows you to place executables in the application release root rather than the bin sub-folder. The Private Assembly must be in the same folder as the executables so in the case:

..\Release Path\MyApp\myexec.exe
..\Release Path\MyApp\cpfworkrt
..\Release Path\MyApp\cpfworkrt\cpfworkrt.manifest
..\Release Path\MyApp\cpfworkrt\perl514.dll
..\Release Path\MyApp\cpfworkrt\libgcc_s_sjlj-1.dll

If you have some executables in your package in the root folder, and some in the bin sub-folder, then Cava must package two Private Assemblies, one for each location.

Contents Up Previous Next

Cava Packager Copyright © 2006-2012 Mark Dootson