Configuring InstallAware Setup Settings inside Visual Studio
To configure InstallAware setup creation settings for your solutions inside Visual Studio, choose edit your setup project inside the main InstallAware IDE.
on the main Visual Studio menu. The window appears, which allows you to control basic setup creation settings. For more extensive setup settings,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 PRODUCTCODE variable.
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 theUpgrades 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
by pressing the button any time you change your defined on the . 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
. This setting is not recorded in the MSI file and has effect only on 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 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
button.Compiler Variables Node
The list of all defined compiler variables for the current project is displayed on this page. Press the
button to define a new variable. Double-click an existing variable, or choose an existing variable and press the button to modify it. Press the 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
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:
- Select a file from the list of available files.
- To change the target folder of the selected file, click the button. The window appears. Choose your desired target folder in this window and click to apply your changes. 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.
- To create a shortcut for this file in your application's Start Menu group, check the check-box.
- 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 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:
- Click the folder to add the file into.
- Right-click and choose .
- Browse to the file to add using the dialog, and click to apply your changes.
To remove a file already in the list, click the file to remove, right-click and choose
.Adding a Folder
To add a new folder to the list of available folders for file installation targets, follow these steps:
- Click .
- Right-click and choose .
- Select the folder to add in the dialog, and click 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:
- Select an assembly from the list of available assemblies.
- To change the target folder of the selected assembly, click the button. The window appears. Choose your desired target folder in this window and click to apply your changes. You may choose to install your assemblies into the Global Assembly Cache by selecting the option, or choose any pre-defined system folder by selecting the option. refers to the installation folder chosen by the end-user while your setup is running, and is the recommended custom path destination.
- To generate native images for that assembly at install-time, check the check-box. This helps your .NET code run faster as JIT compilation is performed at install time.
- To register your assemblies for COM Interop, check the check-box.
- If your assembly contains an (un)installer class that you wish to call while setup is running, check the 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.
- Click the registry hive to base your registry key under.
- Right-click and choose .
- In the dialog, type the key name and click 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.
- Click the registry key to rename or delete.
- Right-click and choose or .
- If renaming, in the dialog, type the new key name and click 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.
- Click the registry key to create the value under.
- Right-click the listing and choose .
- In the dialog, populate the and fields. To edit the default registry value for a key, leave the field blank.
- Choose a data type for your registry value. To edit the default registry value for a key, you must select the String data type.
- If you wish to ensure your registry value remains present on the system even after an uninstallation, check the box.
- Click to save your changes.
Editing a Registry Value Name or Data
You may edit a registry value after creating it.
- Click the registry value to edit.
- Right-click and choose .
- In the dialog, update the and fields.
- Update the data type for your registry value.
- If you wish to ensure your registry value remains present on the system even after an uninstallation, check the box.
- Click to save your changes.
Deleting a Registry Value
To delete a registry value, follow these steps.
- Click the registry value to delete.
- Right-click and choose .
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
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 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 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 . 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 . 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.