cancel
Showing results for 
Search instead for 
Did you mean: 

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

No ratings

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