Contents

InstallAnywhere 2013 Help Library
Legal Information
What’s New in InstallAnywhere 2013
Using Help
Documentation Conventions
Using Embedded Help
Contacting Us
Getting Started
Introduction to the InstallAnywhere Interface
About the Authoring Environments in InstallAnywhere
Project Wizard
Advanced Designer
Switching from the Project Wizard to the Advanced Designer Environment or Vice-Versa
Setting the Default Startup Authoring Environment for InstallAnywhere
Working with InstallAnywhere Projects
Creating a New InstallAnywhere Project
Opening an Existing InstallAnywhere Project
Switching to a Different Project in the Advanced Designer
InstallAnywhere Editions
Upgrading from Earlier InstallAnywhere Versions
Obtaining Updates for InstallAnywhere
Concepts of InstallAnywhere Installer Development
Actions
About Actions
About Action Groups
Action Customizers and the Action Execution Sequence
About Action Customizers
About the Action Execution Sequence
About Get User Input Panels
Input Methods/Component Types
Bidi Orientation and Text Reading Order
Font and Color Settings
Results Variables
Defaults
VAR_BOOLEAN_X Variable
Build Tools
Custom Code
Custom Code Basics
About Custom Code and Variables
About Plug-ins
DIM References
Hosts
Support for Application Servers
Support for Database Servers
Install Sets, Features, and Components
Install Sets
Features
Components
Standalone Components
Dependencies
Shared Components
Installer Modes
Graphical User Interface (GUI) Installers
GUI Localization
Customization of the User Interface
Console Installers
Silent Installers
About Response Files and Silent Installers
Installer Types
Java Virtual Machines
About JVM Selection
How the Installer’s Launcher Selects a JVM
About the Installer’s JVM Search
About the Launcher’s JVM Selection Behavior at Run-Time
About the Choose Java VM Panel
When Are VM Packs Installed?
About Java VM Selection Criteria
LaunchAnywhere
Localization
Dynamic and Static Text
Best Practices for Localizing
External Resource Bundles
Magic Folders
Merge Modules
Project File
Rules
Source Paths
SpeedFolders
Templates
Uninstaller
About Uninstallers and Custom Code
About Uninstallers and Variables
Feature Uninstallation
Uninstaller for Merge Modules and Multiple Products
Similarities Between the Sequences in an Installer
Variables
Variable Notation
Magic Folders and Variables
Methods of Setting InstallAnywhere Variables
Evaluation of InstallAnywhere Variables
Searching for InstallAnywhere Variables
Selecting Variables from a List
InstallAnywhere Tutorials
Building an Installer Using the Project Wizard
Creating a New Project
Defining the Install Sequence
Adding Files
Choosing the Main Class
Setting the Classpath
Building the Installer
Testing the Installer
Building an Installer Using the Advanced Designer
Creating a New Project
Adding Pre-Install Actions
Defining the Install Sequence
Adding a LaunchAnywhere Executable to the Install Sequence
Adding Post-Install Actions
Building the Installer
Testing the Installer
Creating Basic Installers
Working with InstallAnywhere Projects
Creating a New Project
Opening an Existing Project
Customizing the Pre-Install Sequence
Customizing the Install Sequence
Overview on Defining the Install Sequence
Adding Files and Folders to a Project
Adding Actions to the Install Sequence
Adding LaunchAnywhere Executable Files to the Install Sequence
Re-creating the InstallAnywhere Uninstaller and Associated Components
Customizing the Post-Install Sequence
Including a Software Identification Tag for Your Product
Organizing Features and Components
Best Practices for Components
Adding Components
Assigning Files to Components
Removing Empty Components
Integrating Components that Are Already Installed on Target Systems
Adding Features
Assigning Files to Features
Assigning Components to Features
Defining Rules
Assigning a Rule to the Installer
Assigning a Rule to an Action
Assigning a Rule to a Group of Actions
Building Complex Rule Expressions
Customizing Built-in Rules
Customizing a Check File/Folder Attributes Rule
Customizing a Check If File/Folder Exists Rule
Customizing a Check Platform Rule
Customizing a Check Running Mode Rule
Customizing Evaluate Custom Rule Rules
Customizing a Compare InstallAnywhere Variable Numerically Rule
How Rules Are Evaluated at Run Time
Implementing Maintenance Mode
Enabling and Configuring Maintenance Mode
Enabling Maintenance Mode
About Maintenance Mode Action Groups
Customizing Maintenance Mode Text and Images
About Check Running Mode Rules
Specifying Instance Management Behavior
About the Uninstaller/Maintenance Mode Launcher
Run-Time Behavior for Maintenance Mode
Customizing the Uninstall Sequence
About Uninstaller Customization
Adding Uninstall Categories and Actions to the Uninstall Sequence
Assigning Actions in the Uninstall Sequence to Product Features and Components
Preventing the Actions in an Uninstall Category from Being Uninstalled
Reordering Uninstall Categories and Actions in the Uninstall Sequence
Building and Testing Installers
Working with Build Configurations
Creating a New Build Configuration
Renaming a Build Configuration
Copying a Build Configuration
Removing a Build Configuration
Adding a Build Configuration to the Project Build
Using Tags to Customize Build Configurations
Determining Whether a Project Element Is Included in a Build Configuration
Creating New Tags
Assigning Tags to Project Elements
Associating Tags to Build Configurations
Searching for Tags
Importing Tags from Merge Modules
Specifying Locale Settings
Defining Build Targets
Specifying Build Distribution Options
Creating Web Installers
Creating CD-ROM/DVD Installers
Creating Merge Modules
Advertising Merge Module Installer Variables
Specifying How to Show the Progress of a Merge Module Installation
Building Installers Using Build Configurations
Building a Specific Build Configuration
Building the Build Configurations That Are Enabled for Project Build
Building All of the Build Configurations in a Project
Using build.exe to Build Installers from the Command Line
Using an Ant Task to Build Installers from the Command Line
Testing Installers
Working with JRE VM Packs
Downloading JRE VM Packs for Bundling in Installers
Adding JRE VM Packs for Your Installers to Your Development and Build Machines
Adding a VM Pack to Your Project
Targeting 32-Bit and 64-Bit Windows-Based Systems
Enabling or Disabling WOW64 Emulation on 64-Bit Windows-Based Target Systems
Creating Pure 64-Bit Installers for 64-Bit Windows-Based Target Systems
Creating Launchers for Java Applications
Run-Time Behavior for LaunchAnywhere Files on OS X–Based Systems
Launching Additional Installers
Installing Fonts
Working with Source Paths
Enabling Source Paths
Adding and Removing Source Paths
Updating the Location of Files and Resources
Working with Source Code Control Software
Including Developer Installation Manifests (DIMs) in a Project
Referencing a DIM in a Project
Customizing a DIM Reference
Removing a DIM Reference
Creating a Shortcut to a File within a DIM Reference
Adding Advanced Functionality to Installers
Working with Variables
Setting Variables in the Advanced Designer
Preventing the Substitution of Unknown Variables
Checking the Value of a Variable
Encrypting Variable Values
Resolving Variables at Build Time
Creating Virtual Appliances
About Virtual Appliances
Components of a Virtual Appliance
Advantages of Using Virtual Appliances
Supported Hypervisors and Platforms for Virtual Appliances
Virtual Appliance Creation Workflow
Obtaining VM Templates for Virtual Appliances
Downloading VM Templates
Creating Custom VM Templates
About Creating VM Templates
Creating VM Templates Using the Create InstallAnywhere VM Template Wizard
Creating VM Templates Using the Command Line
Creating a VMware vSphere 5 Virtual Appliance
Creating an Amazon EC2 Virtual Appliance
Working with Virtual Appliance Configurations
Creating a New Appliance Configuration
Renaming an Appliance Configuration
Copying an Appliance Configuration
Removing an Appliance Configuration
Adding an Appliance Configuration to the Project Build
Specifying Connection Settings for Building Virtual Appliances
Configuring the Appropriate Appliance Output and Type for VMware-Based Virtual Appliances
Specifying the Appliance URL
Support for Elastic Block Store (EBS) for Amazon
About EC2 and S3 Regions of Deployment for Amazon
Working with VM Configurations for a Virtual Appliance
Selecting a VM for a VMware Virtual Appliance
Specifying Hardware Requirements for a Virtual Appliance
Installing Operating System Packages for a Virtual Appliance
Specifying Which OS Package Repository to Use for Virtual Appliances
Adding Installers to Your Virtual Appliance
Using RPM/Debian Packages for Proprietary Operating Systems on Virtual Appliances
Using Custom Boot and Login Scripts for a Virtual Appliance
Customizing Product Properties
Identifying Different Virtual Appliances and VMs
Managing Multiple Tiers for a Virtual Appliance
Building a Virtual Appliance
Building a Specific Appliance Configuration
Building the Appliance Configurations That Are Enabled for Project Build
Building All of the Appliance Configurations in a Project
Using build.exe to Build Virtual Appliances from the Command Line
Building Virtual Appliances Through Ant Task-Based Build
Build Output for VMware vSphere 5 Virtual Appliances
Build Output for Amazon EC2 Virtual Appliances
Deploying a Virtual Appliance
Deploying a VMware vSphere 5 Virtual Appliance on Demand
Deploying an Amazon EC2 Virtual Appliance on Demand
Deploying an Amazon Virtual Appliance Through the Amazon Web Services (AWS) Management Console
Deploying an Amazon EC2 Virtual Appliance Through Command-Line Tools
Using the IABookstore Sample for Creating Virtual Appliances
Using the IABankingApplication Sample for Creating Multi-tier Virtual Appliances
Creating JRE VM Packs
Using the Create JRE VM Pack Wizard
Directory Name Requirement for Preparing a JRE VM Pack
Running the Create JRE VM Pack Wizard as a Standalone Tool
Creating a JRE VM Pack Manually
JRE VM Pack Structure
JRE VM Pack Properties
Making a JRE VM Pack FIPS-Compliant
Controlling the JVM That Your Installers Use
Controlling the Installation of Bundled JVMs
Preventing the Installation of the Bundled JVM
Installing the Bundled JVM When the Installer Includes a Launcher
Installing the Bundled JVM Only When No Valid JVM Exists
Preventing the Uninstallation of the Bundled JVM
Changing the Bundled JVM Install Folder
Changing the Bundled JVM Install Subfolder
Controlling the JVM that Your Launchers Use
Customizing the VM Search Settings for Your Launchers
Customizing the VM Search Paths and Patterns
Customizing Windows Search Paths
Customizing Java Executable Patterns for Windows-Based Installations
Customizing UNIX Search Paths
Customizing Java Executable Patterns for UNIX-Based Installers
Customizing Individual Launcher Settings
Using the Choose Java VM Panel
JVM Spec Files
Generating Response Files
Generating Log Files
Getting User Input at Run Time
Using the Get User Input - Simple Panel
Using the Get User Input - Advanced Panel
Using Command-Line Arguments with Installers and Uninstallers
Setting Project Version at Build Time
Checking Disk Space During Installation
Preparing Your Installer for Update Notifications
Adding an Enable Update Notifications Action
Registering Your Product with the FlexNet Connect Publisher Site
Removing an Enable Update Notifications Action
Localizing Projects and Installers
Generating Multilanguage Installers
Localizing Resources
Localizing Custom Installer Labels
Localizing the Splash Screen
Localizing the Get User Input Panels
Adding an External Resource Bundle
Referencing an External Resource Key
Internationalizing Custom Code
Packaging and Executing Custom Code
Support for Signed JARs as Dependencies
Calling InstallShield MultiPlatform APIs in InstallAnywhere
Packaging Custom Code as a Plug-in
Digitally Signing Windows-Based Installers
Code Signing OS X–Based Installers
Configuring Installation Rollback Behavior
Determining Whether an Installation Was Successful
Troubleshooting Issues with Installers
Improving Installation Performance
Debugging During Installer Development
Directing Installer Debug Output
Using the Output Debug Information Action
Debugging Using Display Message Panel
Debugging LaunchAnywhere-Launched Executable Files
Debugging During Post-Development
Debugging a Win32 Installer
Debugging a UNIX/Linux or Pure Java Installer
Debugging OS X–Based Installers
Reviewing Debug Information
Troubleshooting Issues with OS X–Based Magic Folders
Troubleshooting EBCDIC Encoding Issues
Exit Codes
Build Exit Codes
Installer Exit Codes
Reference