cancel
Showing results for 
Search instead for 
Did you mean: 

Running Project Automation Java Class with 64-bit JDK Results in Error

Running Project Automation Java Class with 64-bit JDK Results in Error

Summary

This article discusses the issue with running Project Automation Java class with 64-bit JDK which results in the project failing to be saved by a node-locked licensed copy of InstallAnywhere.

Symptoms

Running the Project Automation Java class with a 64-bit JDK results in the project failing to be saved by a node-locked licensed copy of InstallAnywhere.

Here is the error message that's generated:

Trying to checkout IAEB version=17.0
Library for Native Hostid Couldn't Be Loaded (-521,7024)
Trying to checkout IACB version=17.0
Library for Native Hostid Couldn't Be Loaded (-521,7024)
Trying to checkout IAEE version=17.0
Library for Native Hostid Couldn't Be Loaded (-521,7024)
Trying to checkout IACE version=17.0
Library for Native Hostid Couldn't Be Loaded (-521,7024)
Trying to checkout IAEJ version=17.0
Library for Native Hostid Couldn't Be Loaded (-521,7024)
Trying to checkout IACJ version=17.0
Library for Native Hostid Couldn't Be Loaded (-521,7024)
Trying to checkout IAS version=17.0
Library for Native Hostid Couldn't Be Loaded (-521,7024)
This copy of InstallAnywhere could not be registered using the node locked licensing file specified.Please check if the license file specified at (<path_to_lic_file>) is a valid license file for this node.If this was a subscription license, please verify if your license has expired.

Cause

InstallAnywhere is shipped as a 32-bit application, and the libraries which are used are only compatible with a 32-bit JVM.

Steps To Reproduce

1. Create a project.
2. Implement a Project Automation Java class. For example:
package com.zerog.ia.projectautomation;

import com.zerog.ia.auto.project.Project;
import com.zerog.ia.auto.project.ProjectAutomation;

public class TestInstallAnywhereAutomation
{
    public static void main(String[] args)
    {
        try
        {
            System.out.println("Test start...");
            ProjectAutomation.setIALocation("C:\\Program Files (x86)\\InstallAnywhere 2015 Premier");
            System.out.println("IALocation set");
            Project myProject = ProjectAutomation.loadProject("C:\\Users\\UserName\\Desktop\\ProjectName\\ProjectName.iap_xml");
            System.out.println("Project loaded");
            System.out.println("java.library.path is : " + System.getProperty("java.library.path", ""));
            System.out.println("Test IA auto api");
            System.out.println("IA project file to modify is " + "C:\\Users\\UserName\\Desktop\\ProjectName\\ProjectName.iap_xml");
            ProjectAutomation.saveProject(myProject); 
            System.out.println("Project saved");
            System.out.println("Test done...");
        }
        catch (Exception e)
        {
            e.printStackTrace();
            System.exit(-1);
        }
        System.exit(0);
    }
}


3. Compile the Java class.
4. Export the Java class in a JAR file.
5. Run the Project Automation Java class with a 64-bit JDK.

The Project Automation Java class successfully loads the project but fails to save the project.
?

Resolution

Use a 32-bit JDK when running the Project Automation Java class.

Additional Information

An enhancement request for 64-bit support has been submitted to our Engineering team as Issue# IOJ-1748232. Our Engineering team is investigating this issue, but at this moment, there is no estimated time frame for when this feature will be implemented.
Was this article helpful? Yes No
No ratings