Calling InstallShield MultiPlatform APIs in InstallAnywhere
InstallAnywhere 2020 SP2
InstallAnywhere includes a set of InstallShield MultiPlatform APIs (Services) that you can import into a custom code action. The following service interfaces are available:
| 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:
| Subject | Location in InstallAnywhere’s Installation Directory | 
| Java Docs | /javadocs/index.html | 
| Templates | /CustomCode/Templates | 
| Samples | /CustomCode/Samples |