Calling InstallShield MultiPlatform APIs in InstallAnywhere

InstallAnywhere 2021

InstallAnywhere includes a set of InstallShield MultiPlatform APIs (Services) that you can import into a custom code action. The following service interfaces are available:

InstallShield MultiPlatform Service Interfaces

Interface

Description

SecurityService

Provides the ability to work with users and user groups on the target system.

SystemUtilService

Performs system-level operations such as setting up environment variables, rebooting the system, startup commands, and OS properties.

FileService

Provides the ability to manipulate and query files, directories, and partitions at runtime.

Win32Service

Provides a variety of methods for interacting with Win32 capabilities including Windows NT Services, and Windows specific file system APIs.

Win32RegistryService

Provides access to the Win32 Registry for reading and writing registry data.

To call InstallShield MultiPlatform APIs in an installer:

1. To access to the InstallShield MultiPlatform APIs, use the following syntax:

InstallerProxy.getService(<ClassName>.class)

For example, to get access to the InstallShield MultiPlatform FileService, use the following code:

FileService fservice = (FileService) ip.getService(FileService.class);

   //where ip is the InstallerProxy Object

When compiling code that uses these services, all JAR files in the IA_HOME/resource/services directory and the IA_HOME/resource/services/ppk directory should be in the compiler’s classpath.

2. Add service support for your custom code to ensure that the services are built into the installer and made available at run time. To do so:
a. In the Advanced Designer, on the Project page, click JVM Settings. The JVM Settings view opens.
b. Click the General Settings tab.
c. Select the Add service support for custom code check box.

For additional information on custom code, see the following resources:

Additional Information on Custom Code

Subject

Location in InstallAnywhere’s Installation Directory

Java Docs

/javadocs/index.html

Templates

/CustomCode/Templates

Samples

/CustomCode/Samples