Engine Functionality

Top  Previous  Next

Packaging and compression

AWinstall engine is a small program what provides all installer package functionality. The installer package can contain a big number of installation actions (for example, files extraction). These actions are placed to a single installer executable and compressed to reduce the total package size.

The compression algorithm used in AWinstall is comparable to other popular compression methods (such as ZIP), and sometimes is better. Therefore, AWinstall also can be useful for creating self-extracting archives with very small decompressor footprint.

Tasks and actions

Each AWinstall setup contains at least one Task named group of installation actions. The task can be visible to users as installation option. Each task can contain any number of actions, limited only by your computers' free RAM and disk space. This gives you additional flexibility in user interaction.

For example, you can add task with name 'Make program shortcut on Desktop', allowing user to make the choice. Tasks invisible to users will always be performed.


Uninstall support

AWinstall has built-in support for automatic product uninstall. This feature is enabled by default. To disable uninstall support, uncheck the 'Allow product uninstallation' checkbox in Project Settings dialog ('Uninstall' page). This will decrease total installer size.


The uninstallation of installed product will be available by starting Control Panel and selecting 'Add/remove programs' applet. You may also want to create uninstall shortcut in your menu program folder. The easiest way to do this is creating the 'Add uninstall shortcut' action.


During uninstallation, AWinstall prevents the loss of user's data. Only files and folders created with AWinstall will be deleted.

Creating files and folders

During installation scenario, AWinstall support extracting files with creating additional subfolders. For example, to create file 'readme.txt' in 'texts' subfolder of your product folder, just specify additional folder in target file path:


The subfolder 'texts' will be created in your product folder automatically. During uninstallation, this subfolder will be deleted (if it is possible see 'Uninstall support' section).

To read additional information about ${ProductPath} variable, see Installer Variables Reference.

Auto-cleaning temp files and folders

You may need to use some files only during setup process. For this reason, AWinstall supports managing of temporary files.

To use temporary file in task, extract it to ${TempPath} folder in selected task. After task performing, all temporary files and folders will be deleted.

To read additional information about ${TempPath} variable, see Installer Variables Reference.

Silent setups

Using AWinstall you can create 'silent' setups. This option is useful for installing software auto-updates, installing server products and performing other tasks without need of user interaction.

To create the silent setup module, select 'Silent setup' option in main Project Settings.

Installer variables

Some files should be placed to certain file system folders (for example, it is recommended to install new applications to new subfolder in the 'Program Files' folder). But the real path to some folders may vary on different platforms and also depends on end-user settings.

Again, there is often necessary to use product or company name several times for example, in registry strings, program parameters and shortcut names.

For this reasons, AWinstall provides the set of installer variables macro strings expanded during installation. The form of such macro is ${MacroName}, where MacroName is predefined installer variable.

Installer Variables Reference


You can also use a handy macro syntax to obtain data from System Registry or Environment Variables.

For example, to get the current user's name, use this macro: ${ENV:USERNAME} . To get the DirectX version number, use the following syntax: ${REG:HKLM\SOFTWARE\Microsoft\DirectX\Version}.

This method is called Pseudo-Variables, because it is very similar to referencing an ordinary variable, but actually AWinstall reads the requested data.

Installer Pseudo-Variables Reference