Build

See also Batch mode operation

The ultimate purpose of Tarma QuickInstall is of course to create Setup packages. We refer to this as "building the project". (Stretching the language a bit, the building process is often referred to as just "the build".) Tarma QuickInstall can build two types of Setup packages:

The Build page is the control center for either process. Throughout this document, we use the term distribution package to denote either type of package.

Tip - Tarma QuickInstall can also be used in batch mode for unattended builds. See Batch mode operation for more information.

Single Exe builds

During a Single Exe build, Tarma QuickInstall:

  1. Performs a variety of preflight checks to ensure that your Setup package will work as intended once it's built.
  2. Generates a Setup.ini installation script from the project information that you entered.
  3. Creates a new distribution file that initially consists of the Setup.exe program and the Setup.ini script.
  4. Goes through the installation files, compresses a copy of each source file, and adds the compressed copies to the distribution file.
  5. Finalizes the distribution file and, if requested, adds a digital signature to it.

Plain Folder builds

During a Plain Folder build, Tarma QuickInstall:

  1. Performs a variety of preflight checks to ensure that your Setup package will work as intended once it's built.
  2. Generates a Setup.ini installation script from the project information that you entered.
  3. Cleans the distribution tree from the previous build of the same project, if any.
  4. Copies the Setup.exe program and the Setup.ini script to the root of the distribution tree.
  5. Goes through the installation files and adds a copy of each file to the appropriate subfolder in the distribution tree.

Note - Digital signatures are not available for plain folder builds, because they don't really make sense in that context.

Multilingual builds

If you checked the Language support option on the Installation page, the build process is modified slightly. The modification depends on the type of language support that you selected on that page.

The corresponding .ZAP files, if any (see Generate ZAP file below), follow the same naming scheme. There is only one build log, however, which contains the output of the entire build process.

Build style

The Build style options control the build process as a whole.

Single Exe

Click this bullet to build a single-file executable Setup package. Enter the name for the package file (the one that you will be distributing to your customers), or click the ... (browse) button to open a standard Windows Save Distribution File As dialog that lets you browse for a convenient folder and file. The file must have a .exe extension.

Plain Folder

Click this bullet to build a plain-file distribution package. This package consists of a folder tree with all required installation files and the Setup program in uncompressed form. Enter the name for the distribution root folder, or click the ... (browse) button to open a standard Windows Browse for Folder dialog that lets you browse for a convenient folder.

Warning - The existing contents of this folder will be removed during the project build.

Setup stub

Select the Setup.exe stub that you want to use for the installer. The standard Tarma QuickInstall distribution contains the following stubs:

Stub name Description
SetupPro.exe Regular Setup.exe stub; app. 69 KB in size.
SetupProX.exe Uncompressed version of the stub; app. 139 KB.
SetupOop.exe Out-of-process Setup.exe stub (see below); 69 KB
SetupOopX.exe Uncompressed version of the same; 140 KB

By default, Tarma QuickInstall uses the compressed SetupPro.exe stub, but some anti-virus tools have problems with that, in particular if the overall installation package is large. By using the uncompressed SetupProX.exe stub, start-up delays caused by anti-virus tools are prevented. It adds 70 KB to your installation package and corresponds to the Uncompressed stub option from versions of Tarma QuickInstall prior to 2.97. The SetupOop.exe stubs are similar to the SetupPro.exe stubs, except that they run file registration (through DllRegisterServer() and others; see Installation file settings) in a separate process. This helps to isolate file registration from the main Setup.exe process.

If you are using a customized version of Tarma QuickInstall, you will find additional stub names in the list corresponding to your customization.

Treat warnings as errors

Check this box to make Tarma QuickInstall treat warnings as errors during the build process; clear it to treat only errors as errors. Errors terminate the build process; by treating warnings as errors, the build will be aborted if any warnings or errors remain.

This option is always set for new projects to ensure that you don't miss potentially problematic situations. However, it is not uncommon that after revising the issues raised by Tarma QuickInstall, you decide that any remaining warnings are in fact harmless. In that case, you should clear this option in order to build the project.

Generate ZAP file

Check this box to have Tarma QuickInstall generate a ZAP file for each distribution package. A ZAP (Zero Administration Package) file is a text file containing rudimentary information about the accompanying Setup package. It is intended for Setup packages that do not use Windows Installer, such as Tarma QuickInstall, and gives system administrators an opportunity to manage the Setup package in an automated fashion.

The location and name of the ZAP file that Tarma QuickInstall generates if you check this option depend on the build style.

Write build log

Check this box to copy all diagnostic messages to a separate log file. The log file has the name of the project, with a .log extension. If you clear this box, no new log file will be created, but any existing log file is preserved.

Copy Setup.ini to build log

Check this box to have Tarma QuickInstall include a copy of the Setup.ini file for your Setup package in the build log. This lets you check the details of the installation script as Setup will see it, including all variable expansions. It also provides a full audit trail of all installation actions: files, shortcuts, registry modifications, etc.

Note - The Setup.ini file is also automatically included in the distribution package; you do not need to (and in fact, cannot) add it manually.

Check

Click this button to perform a preflight check of the project without actually building the project. This is useful if you want to verify your project's health without overwriting the current distribution package, or without having to wait for it to be built if the project is big. Any messages generated during the check end up in the Diagnostic messages area. They are also copied to the Build - Log file page and file.

Build

Click this button to build the project and create the distribution target. Unless it encounters errors (or warnings treated as errors), Tarma QuickInstall goes through all steps outlined above to produce the Setup package. Any messages it generates during the build end up in the Diagnostic messages area. They are also copied to the Build - Log file page and file.

Test

Click this button to test the distribution package in order to test it on your own system. If the distribution package has not been built yet or is out of date (because you made changes to the project since the last project build), you will be prompted for a project build first.

The distribution package is run from its current location and under your own user account, unless you checked the Run Test As Other User (Windows 2000 and later) box, in which case you get the opportunity to run the file under a different account.

Build Actions...

Click this button to open the Custom Build Actions dialog, which lets you specify external actions to perform before and after the build process. Please note that these actions are not performed during a preflight check.

Security

The Security options allow you to protect the Setup package with encryption and a password. If a password is specified, it will be used to encrypt the Setup package. At installation time, the customer will be prompted for the password to decrypt the Setup package.

Note - These options are not available if you selected the Plain Folder build style, above.

Password

Check this box and enter a password to enable password protection for your Setup package; clear the box for no password protection. The password can use any characters that you see fit.

Note - If you also check the Randomize box, then the password text box is marked read-only, because Tarma QuickInstall will generate the password for you.

Randomize

Check this box to let Tarma QuickInstall generate a random password for you each time the project is checked or built.. The password generation process first generates a pseudo-random binary key of the length that you specify in the Key length field, then encodes the binary key using digits and capital letters. 0/O and 1/I are not used to avoid confusion; the remaining 32 characters each encode 5 bits of the binary key. Therefore, the resulting password will be Key length / 5 characters long.

Key length (bits)

Enter the desired binary key length. Acceptable values are 1-128 bits; you should choose 40 bits or more for reasonable security. The actual key length will be rounded up to the next multiple of 8 bits.

Hide password typing in Setup

Check this box to hide the password typing in Setup's password dialog. While this makes shoulder surfing slightly harder, it might also cause more data entry errors, in particular with randonly generated passwords.

Digital signature

The Digital signature options apply to the digital signature that is optionally added to the distribution package. Refer to Digital signatures for more information about digital signing and signatures. In a nutshell: Tarma QuickInstall uses the Microsoft SignCode utility to attach digital signatures to your distribution package; the Digital signature options apply to the configuration and use of SignCode.

Note - These options are not available if you selected the Plain Folder build style, above.

Sign after build

Check this box to let Tarma QuickInstall sign the distribution package immediately after a successful build. Clear it to omit the signature (you can still add it manually by clicking the Sign Now button).

Use integrated signing

Select this option to run SignCode invisibly and with all its options preset. The only visible part of the SignCode user interface is its Enter Private Key Password dialog. However, Tarma QuickInstall captures all SignCode output and redirects it to the Diagnostic messages area. (It is also available in the SignCode.log file in the same folder as your distribution package.)

This option is the most convenient if you regularly sign your distribution packages. It requires that you have correctly configured the Preferences - SignCode settings through the Settings... button below.

Use SignCode wizard

Select this option to use the SignCode wizard to sign the distribution file (or any other file, for that matter). In this case, Tarma QuickInstall runs SignCode without any command line arguments; in response, SignCode displays its Digital Signature Wizard that takes you through all the steps required to sign a file.

This option is rather cumbersome, and unless your application requires SignCode options that are not supported by Tarma QuickInstall's integrated signing (if you let us know what options, we might add them to a future version of Tarma QuickInstall), you will probably find it more convenient to use integrated signing instead.

Sign Now

Click this button to invoke SignCode straightaway, using the same options as above. If the distribution package has not been built yet or is out of date (because you made changes to the project since the last project build), you will be prompted for a project build first.

Settings...

Click on the button to open the Preferences - SignCode dialog that lets you specify the project-independent SignCode settings such as algorithm, private key storage, etc.

License information

The License information section contains a reminder of your license and registration status and allows you to enter your license registration code, should you not have done so already.

(icon & text)

The icon and the accompanying text summarize your license status. If you have registered your copy of Tarma QuickInstall, the icon is a symbol and the registered name is mentioned next to it. If you are still in the evaluation phase, the icon is a symbol, and the text reminds you of the license terms. See also:

The other fields in this section are the following.

Register...

Click this button to open the License Registration dialog that lets you enter your registered name and associated license code. The button is hidden if your copy of Tarma QuickInstall is already registered; in that case, you can still use the Help > License Registration... command to change it, should the need arise.

Product updates and registration

Click this link to start your Web browser and go to the Tarma QuickInstall web page http://www.tarma.com/products/tin/ Refer to the Contact Information page if you need other contact addresses.