Advanced Build Options¶
Compress EXE stub with UPX or MPRESS if available¶
Paquet Builder generates package EXE files with small overhead (under 256 KB, sometimes less than 100kb). If you want to reduce this overhead, you can compress it with an EXE compressor software like UPX (for 32-bit packages) or MPRESS (for 64-bit packages):
with UPX: UPX is a free executable packer available at http://upx.sourceforge.net Paquet Builder can call UPX itself if you enable the option. The compilation log will mention the result of UPX compression.
with MPRESS: UPX is a free executable packer available at http://www.matcode.com/mpress.htm. Paquet Builder can call MPRESS itself if you enable the option. The compilation log will mention the result of MPRESS compression.
Info
For legal reasons, UPX or MPRESS are not shipped with Paquet Builder. You can use the Web Update utility that ships with Paquet Builder to update your installation or you can download these programs manually from http://upx.sourceforge.net or http://www.matcode.com/mpress.htm and unzip the archive:
-
for UPX, in the "Compiler\UPX" subfolder, for instance in C:\Program Files\Paquet Builder 2020\Compiler\UPX
-
for MPRESS, in the "Compiler\MPRESS" subfolder, for instance in C:\Program Files\Paquet Builder 2020\Compiler\mpress
Warning
Some old or badly-designed antivirus programs may detect your Self-Extracting packages as possible virus or threats when compressing the overhead. In that case, code signing the EXE file generally helps. You can also test your package online with VirusTotal.
Root Folder for Temporary Bin Output Folder¶
Paquet Builder stores temporary intermediate compilation files in a subfolder named "Bin". Normally, this folder is automatically placed in the Package Output Directory. However, for technical reasons, the compiler does not support shared folders on networks. If the Package Output Directory is on a shared network, compilation will fail. The workaround is to place the temporary bin folder on the local computer: you can do it with this "Root Folder for Temporary Bin Output Folder" option. In this field, enter the full path to the folder in which the temporary bin subfolder will be placed during compilation. A local folder on a hard disk is recommended. The bin subfolder is deleted after compilation.
Do not remove the temporary "Bin" subfolder after build¶
As explained above, Paquet Builder stores temporary intermediate compilation files in a subfolder named "Bin" (placed in the Package Output Directory or in the folder of your choice). Normally, this folder is completely destroyed when the compilation ends since it is useless for you. If you still want to keep this folder intact, enable this option.
Note: this option doesn't make compilation faster. It is designed for debugging purposes only.
Use local folder and not User temporary folder for temporary resources¶
While initializing, the package extracts its temporary resources to a dedicated folder on the end user's computer. By default, this is the user's local directory designated for temporary files. Under some circumstances, you don't want these temporary resources to be written on the user's hard disk. In that case, you can configure the package to unpack its resources to a subfolder of its directory. This will be useful only if the package is for instance on a shared network, a removable disk or a USB stick. Ensure that the directory is writeable, otherwise the package will fail.
Note: the folder's path is stored in %PBSFXPATH% variable.
Loader Temporary Resources¶
This list is used to add temporary files to the package's loader. These files are compressed and stored in the overhead. They are unpacked at startup to the temporary folder (path available in %PBSFXPATH% variable).
This should be used by advanced users in order to call custom DLL files, or resources used by custom actions.