InstallAware for Windows Installer
 

Configuring InstallAware Setup Settings inside Visual Studio

To configure InstallAware setup creation settings for your solutions inside Visual Studio, choose InstallAwareSetup Properties on the main Visual Studio menu. The Setup Properties window appears, which allows you to control basic setup creation settings. For more extensive setup settings, edit your setup project inside the main InstallAware IDE.

Project Node

This page lets you define the most basic aspects of your installation.

Manufacturer

Enter your company name here.

Product Name

Enter the name of the product the setup will install here. This name will be available in the setup script as the TITLE variable.

Product Version

Enter the version of the product being installed here.

Product Code

Click the Generate button to generate a new product code. The product code uniquely identifies your installation to Windows Installer. It must be unique in each different product, as well as different versions of the same product. This code will be available in the script as the PRODUCTCODE variable.

Upgrades Product with Product Code

If your installation upgrades a previous version, enter the product code of that version here.

Default Language

Choose the default language of your installation from the drop-down list.

Summary Node

This page lets you compose the summary stream information that will be available in the Windows Installer database. Be sure to set a unique Revision Code by pressing the Generate button any time you change your Product Code defined on the Project Node. This page also lets you manually set the requested elevation level.

Requested Elevation Level

Select your desired user account control elevation level using this combo-box. The default setting is highestAvailable. This setting is not recorded in the MSI file and has effect only on Vista or newer operating systems when UAC is enabled.

Add-Remove Node

This page lets you configure the way your application appears on the Control Panel Add-Remove Programs applet. Fill in the fields as necessary. The value entered for the Publisher Name field will be available in the setup script as the COMPANY variable.

You may also customize the icon used by your setup here by clicking the Load Icon button.

Compiler Variables Node

The list of all defined compiler variables for the current project is displayed on this page. Press the Add button to define a new variable. Double-click an existing variable, or choose an existing variable and press the Edit button to modify it. Press the Delete button after selecting one or more compiler variables to remove them.

Each setup project also has some pre-defined compiler variables.

Themes Node

The list of all installed InstallAware setup themes is available on this page, along with a brief textual description and screenshot for each theme. Click the View Theme button to interactively test each dialog available in a theme. The theme selected on this page will be used for your setup project.

Code Generation Node

This page lets you define how InstallAware's Visual Studio Add-In is to generate code for your setups created automatically inside Visual Studio.

Emit Include Files to preserve custom setup logic in main script

Each InstallAware project consists of a main script file which serves as the entry point into your installation, and one or more include script files, which are added to the main script file using the Include Script command. Include scripts provide a way to reuse code blocks across setup projects. Include scripts are not parsed by the InstallAware IDE's visual designers. The design views parse only the main setup script.

If this option is disabled, you will be able to visually view and edit your generated setup projects in the InstallAware IDE. However, any time your setup project has to be re-created, any customizations made to your main script file will be lost when the Add-In overwrites your main script to refresh your setup project.

If this option is enabled, you will not be able to visually view and edit your generated setup projects inside the InstallAware IDE. Of course, you will still be able to edit generated setup projects using the IDE's script editor. Additionally, any customizations made to your main script file will not be lost as the Add-In will store all of its auto-generated code inside include files, instead of the main script file. Therefore, any time the Add-In needs to update its auto-generated code, it will not have to overwrite your main script file, thus preserving your customizations to your main setup logic and code flow.

Emit new Features for each project in solution

Each InstallAware setup may have one or more end-user selectable features. This helps you break down your application into logical components and enable end-users to install only those features that they require. Using InstallAware technologies such as partial web deployment, you may also save end-users and yourself valuable time and bandwidth when multiple features are used in a setup.

If this option is enabled, the Add-In will generate one feature for each project that is a member of your Visual Studio solution.

If this option is disabled, the Add-In will not break up your setup into user-selectable features.

Files Node

This page lets you customize the folders files are installed into, determine which files to run after setup completes successfully, and choose whether shortcuts are created for files that are being installed. To choose these options:

  1. Select a file from the list of available files.
  2. To change the target folder of the selected file, click the Properties button. The Install File window appears. Choose your desired target folder in this window and click OK to apply your changes. $TARGETDIR$ refers to the installation folder chosen by the end-user while your setup is running, and therefore is the default destination for files being installed. Other system defined folders are available as alternatives.
  3. To create a shortcut for this file in your application's Start Menu group, check the Create shortcut for program check-box.
  4. To run this file when your application installs successfully and the end-user opts-in to run your program in your setup finished dialog, check the Run Program after Installation check-box.

Adding and Removing Files

Files that are part of your project are automatically detected and populated in this section. Should you wish to add more files to this list, follow these steps:

  1. Click the folder to add the file into.
  2. Right-click and choose Add File.
  3. Browse to the file to add using the Add New File dialog, and click OK to apply your changes.

To remove a file already in the list, click the file to remove, right-click and choose Delete.

Adding a Folder

To add a new folder to the list of available folders for file installation targets, follow these steps:

  1. Click Target Folders.
  2. Right-click and choose Add System Folder.
  3. Select the folder to add in the Add System Folder dialog, and click OK to apply your changes.

Your folder is now available for use. You may add new files to it.

Assemblies Node

This page lets you customize the way assemblies are installed by your setup. To choose these options:

  1. Select an assembly from the list of available assemblies.
  2. To change the target folder of the selected assembly, click the Properties button. The Install Assembly window appears. Choose your desired target folder in this window and click OK to apply your changes. You may choose to install your assemblies into the Global Assembly Cache by selecting the Install into the Global Assembly Cache option, or choose any pre-defined system folder by selecting the Install into Custom Path option. $TARGETDIR$ refers to the installation folder chosen by the end-user while your setup is running, and is the recommended custom path destination.
  3. To generate native images for that assembly at install-time, check the Generate Native Images (ngen) check-box. This helps your .NET code run faster as JIT compilation is performed at install time.
  4. To register your assemblies for COM Interop, check the Register Assembly (regasm) check-box.
  5. If your assembly contains an (un)installer class that you wish to call while setup is running, check the Run Installer Class (installutil) check-box.

Registry Node

This page lets you create registry keys and values as part of your installation.

Creating a Registry Key

Before you may create a registry value, you must create a registry key that the value would be stored under.

  1. Click the registry hive to base your registry key under.
  2. Right-click and choose New Key.
  3. In the New Key dialog, type the key name and click OK to save your changes.

You may create multiple nested keys simultaneously by separating each key using the backslash character. For example, to create three new nested registry keys named parent, child, and grandchild, type parent\child\grandchild.

When you create a registry key, a new default registry value for it will be created, holding an empty data string. When creating nested registry keys, this default registry value will only be created for the innermost registry key.

Renaming or Deleting a Registry Key

You may rename or delete a registry key you previously created.

  1. Click the registry key to rename or delete.
  2. Right-click and choose Rename or Delete.
  3. If renaming, in the New Key dialog, type the new key name and click OK to save your changes.

Deleting a key will also automatically remove any subkeys and values located within it.

Creating a Registry Value

To create a registry value, follow these steps.

  1. Click the registry key to create the value under.
  2. Right-click the Target Values listing and choose New Value.
  3. In the Edit Value Name/Data dialog, populate the Value Name and Value Data fields. To edit the default registry value for a key, leave the Value Name field blank.
  4. Choose a data type for your registry value. To edit the default registry value for a key, you must select the String data type.
  5. If you wish to ensure your registry value remains present on the system even after an uninstallation, check the Permanent box.
  6. Click OK to save your changes.

Editing a Registry Value Name or Data

You may edit a registry value after creating it.

  1. Click the registry value to edit.
  2. Right-click and choose Edit Value.
  3. In the Edit Value Name/Data dialog, update the Value Name and Value Data fields.
  4. Update the data type for your registry value.
  5. If you wish to ensure your registry value remains present on the system even after an uninstallation, check the Permanent box.
  6. Click OK to save your changes.

Deleting a Registry Value

To delete a registry value, follow these steps.

  1. Click the registry value to delete.
  2. Right-click and choose Delete Value.

Build Node

This page lets you configure your deployment type. The various kinds of deployment types, along with their uses, are explained below. Pick the one that is most suitable for your target audience. If you will be debugging your setup inside the IDE, also ensure the Debug Build checkbox on this page is checked. Note that you cannot run debug builds outside of the IDE.

Uncompressed Directory Layout

Your setup is contained in multiple files spanning several layers of multiple nested folders. Each file is uncompressed and immediately available, minimizing installation time, since files will not be uncompressed from an archive or downloaded before installation.

This type of deployment is ideal for CD/DVD media where disk space is not a concern and multiple files/folders can be stored. It also works well on network drives.

Compressed Single Self-Installing EXE

Your setup is contained inside a single self extracting file. This file, when run, will first extract its contents to a temporary folder, and then start the main setup program. In essence, when executed, the compressed layout converts into the uncompressed layout.

This type of deployment is suitable for Internet distribution, since the entire setup is contained inside a single file.

Compressed Web-Based EXE

Your setup is comprised of a self extracting file, which similarly to the compressed layout, extracts its contents and starts the main setup; as well as web media blocks, which are defined in your setup script and are downloaded as required from the web.

This type of deployment is ideal for Internet distribution. Setup will download only the web media blocks which are required on the target system. This saves download times and bandwidth since users will not waste either downloading portions of your application and/or its runtimes which they do not need.

Authenticode Node

This page lets you digitally sign your packages with authenticode. Provide the paths to your certificate and key files to enable code signing. The default value for the time stamp URL is http://timestamp.comodoca.com/rfc3161.

Compression Node

Compression

This slider lets you configure the strength of the compression employed while creating your setups. Move the slider and choose a setting that is optimal for your system. You may wish to set the slider to choose no compression while testing and debugging your setup, as at maximum compression, builds take a long time to complete.

Use 256 bit AES Encryption

You may encrypt your compressed setups with strong 256 bit AES encryption technology. The entire setup payload, including the setup and data files, will be encrypted (even if the compression slider is set to use no compression).

Output Node

This page allows you to customize additional build settings:

  • If you wish to customize the output folder, check Custom Folder and provide your preferred output folder. By default, builds will exist under your project folder.
  • If you wish to customize the name of your main setup executable, enter it in the Output filename field. Leave this field empty to use the default name, which is the same as your project file name.
  • If you wish to automatically update the revision code every time you build (excluding batch builds), check Change revision code automatically upon rebuild. This setting must be unchecked when debugging your setup. Checking it will enable seamless, automatic upgrades of your product.
  • If you wish to generate file hashes for your non-versioned application files, check Calculate file hashes for Windows Installer. To improve build speeds, uncheck this setting. Checking it will enable Windows Installer to better identify changes made to your already-installed application files, but will slow processing.