Configure extraction of files¶
This page allows you to decide how your files are extracted (unpacked) by the package onto the user's computer.
File Overwriting Mode¶
When an existing file is found, your package allows your end users to:
overwrite this file. Please note that Paquet Builder packages do not overwrite files that are write-protected by Windows. For example, running .exe, .dll files cannot be edited or removed. If an error occurs when the package tries to get a write-access handle to the output file, the corresponding message will be displayed to users.
ask end users for overwriting. This option is highly recommended if you use a standard package. If you choose this option, a dialog will prompt end users whether the given file should be overwritten or not (they can also decide whether the package should overwrite or skip all future existing files). See the screenshot below.
only overwrite older existing files. This option will cause the package to compare the file dates when an existing file is found. If the packaged file is more recent, then the package will replace the existing file. Otherwise it will skip this file.
skip existing files. No existing files will be overwritten if you choose this option, even if the packaged file is more recent.
Overwrite files with read-only attribute¶
If the package has to overwrite an existing file and the latter is marked read-only (file attribute), then if you had enabled this option, Paquet Builder will remove the read-only attribute of the file and then replace it.
Replace in-use (locked) files at Windows startup¶
If the package has to overwrite an existing file and the latter is in use (locked) by another running process, then the package will display an error message (because the file cannot be replaced) unless you enable this option. In that case, the new file is stored in a temporary location and will replace the old version the next time Windows is started.
- If a file needs to be replaced at startup, the package will set the %NEEDREBOOT% variable to "1". With custom actions, you can check the value of that variable at the end and then reboot the computer if required.
- This option also requires that the user run the package with administrative rights and elevation.
Paquet Builder aims to create small packages. It lets you choose between two decompression engines based on 7-zip.
The small engine supports decompressing general 7-zip archives featuring LZMA2, LZMA, BCJ2 and store compression methods. It does not handle encryption. It is compact but it has a memory requirement: files must be first unpacked to memory before written to disk. Thus, decompression of a 1 GB file will require 1 GB of free RAM! If your 7-zip archive contains files with size higher than 256 Mb, we recommend you to avoid this small engine.
The full-featured engine handles any 7-Zip archive and has support for AES encryption and multi-threaded decompression. Files are directly written to the disk, so large files can be successfully decompressed.
Let Paquet Builder decide for me: depending on your project settings and compressed files, Paquet Builder will select the small or the full-featured engine itself when compiling. Its choice is mentioned in the compilation log. Recommended choice.