Build Settings

Build configuration:

The build configuration you want to use when generating your final installation. The dropdown contains all of the current build configurations. A build configuration contains all previously saved information on the Setup File, Constants, Code Signing, Resources, and Pre/Post Build tabs. Beyond the information on the build settings dialog, build configurations also include dependency modules, primer files, script files, plugins, serial number lists, file lists, and folder reference lists.

Add ( )

Opens the New Build Configuration dialog where you can create a new build configuration in your project.

Remove ( )

Removes the current build configuration from your project.

Note: There must be at least one build configuration in your project.

Rename ( )

Renames the current build configuration.

Location

Output folder:

The directory that you want the setup executable saved to when it is finished building. You can click the Browse button to select an output folder.

Setup filename:

The name you want to give your setup file. This can be setup.exe, install.exe or anything else that you want.

Size

Segment size:

The segment size of the setup executable that will be generated. Choose from:

Web (Single File)

Generate the setup executable as one file.

Smallest segment

Generate the setup executable as the smallest possible segments for distribution.

74 Minute CD-ROM (650 MB)

Generate the setup executable as 650 MB segments suitable for copying to 74 minute CD-ROMs.

80 Minute CD-ROM (700 MB)

Generate the setup executable as 700 MB segments suitable for copying to 80 minute CD-ROMs.

DVD

Generate the setup executable as 2 GB segments suitable for copying to 4.7 gig DVD's.

Custom

Generate the setup executable as segments of the size specified in Custom size.

Note: If you are generating a multi-segment install (not Web (Single File)), you must use the /W command line option if you want the setup to wait for return (Web (Single File) installs always wait for return). Generally you shouldn't wait for return on very large multi-segment installs as memory errors may occur.

Custom size (bytes):

The size in bytes that you want for each setup executable segment.

Note: Segment sizes must be large enough to accommodate the Setup Factory runtime and any primer files that have been added. If the selected size is smaller than Setup Factory requires, it will automatically increase the value.

When building a multi-segment install, each segment must be less than 2 gigabytes (2147483648 bytes) in size.

Compression

LZMA low

Use a fast compression ratio (less than LZMA high).

LZMA high

Use a normal compression ratio (greater than LZMA low).

LZMA2 low

Use a fast compression ratio (less than LZMA2 high). LZMA2 is an improved version of LZMA that is faster and has better multithreading support (see CPU threads setting).

LZMA2 high

Use a normal compression ratio (greater than LZMA2 low). LZMA2 is an improved version of LZMA that is faster and has better multithreading support (see CPU threads setting).

Dictionary size:

The dictionary size for the chosen compression method (LZMA low, LZMA high, LZMA2 low or LZMA2 high). The higher the dictionary size, the better the compression ratio.

Note: For LZMA and LZMA2 compression the memory use is about 10 times more than the dictionary size (in megabytes). For decompression it's about equal to the dictionary size.

Note: Increasing the dictionary size may result in a slower build time and require more memory usage.

Word size:

The length of words to use to find identical sequences of bytes for compression. Larger word sizes can significantly increase the compression ratio when files contain long identical sequences of bytes, however it also affects the compression and decompression speed.

CPU threads:

The number of threads to use for compression. LZMA has a maximum of 2 threads while LZMA2 has a maximum of 16.

Note: Increasing the number of threads also increases the memory usage.

Platform

The desired platform of your setup. The platform you select should be based on the platform of the application or files you are distributing.

Note: If your setup includes dependency modules, plugins, or any other resources, you must also ensure you have selected the correct platform version of those resources.

Tip: If you plan to distribute both 32-bit and 64-bit setup files for your application, it may be possible to create a single setup project for both platforms instead of separate project files. For minor differences between platform distributions, it may be beneficial to create build configurations containing the differing settings for each platform in order to maintain a single setup project file.

To start, create a build configuration containing all the settings required for one of the platforms, making note of any settings not controlled directly by build configurations that may need to be different. Such settings may require the creation of build constants in order for the information to be dynamically set at build time.

Once you've defined all of the settings for your first configuration, you can add a new one by copying all of the settings from your initial one and then modify it accordingly. See the Build Configurations section in Chapter 11: Building and Distributing of the user's guide for more information on build configurations.

Select one of the following platforms:

32-bit

Create a 32-bit setup file for a 32-bit compiled application/files.

Note: 32-bit setup files will run on both 32-bit and 64-bit operating systems.

64-bit

Create a 64-bit setup file for a 64-bit compiled application/files.

Note: 64-bit setup files will fail to run on 32-bit operating systems.

Note: UPX compression is not compatible with 64-bit, therefore 64-bit setups will in general be larger than their 32-bit equivalent.

Launch User

Collect launch user information

If checked, a series of session variables will be populated with the folders located in the user profile that launched the setup. The following variables are available:

%LaunchUserApplicationDataFolder%
%LaunchUserDesktopFolder%

%LaunchUserDomain%

%LaunchUserMyDocumentsFolder%

%LaunchUserMyMusicFolder%

%LaunchUserMyPicturesFolder%

%LaunchUserMyVideosFolder%

%LaunchUserName%

%LaunchUserStartFolder%

%LaunchUserStartProgramsFolder%

%LaunchUserStartupFolder%