cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Tom_Bentley
Level 2

Issues running CustomCodeAction on Windows 64 bit

I've created a default installer with InstallAnywhere 2009 Enterprise SP1 that has one custom action. This custom action works fine on a Windows 32-bit machine (XP) but fails on a Windows 64-bit machine (2003 and XP).

Here is the results of the install on a Windows 64-bit machine. Has anyone encountered something like this?

__________________________________________________________________________

Tue Jun 02 12:43:52 EDT 2009

Free Memory: 8051 kB
Total Memory: 16384 kB

java.class.path:
C:\Documents and Settings\bentleyt\Local Settings\Temp\I1243960976\InstallerData\IAClasses.zip
C:\Documents and Settings\bentleyt\Local Settings\Temp\I1243960976\InstallerData\Execute.zip
C:\Documents and Settings\bentleyt\Local Settings\Temp\I1243960976\Windows\InstallerData\Execute.zip
C:\Documents and Settings\bentleyt\Local Settings\Temp\I1243960976\InstallerData\Resource1.zip
C:\Documents and Settings\bentleyt\Local Settings\Temp\I1243960976\Windows\InstallerData\Resource1.zip
C:\Documents and Settings\bentleyt\Local Settings\Temp\I1243960976\InstallerData
C:\Documents and Settings\bentleyt\Local Settings\Temp\I1243960976\Windows\InstallerData

ZGUtil.CLASS_PATH:
C:\Documents and Settings\bentleyt\Local Settings\Temp\I1243960976\InstallerData\IAClasses.zip
C:\Documents and Settings\bentleyt\Local Settings\Temp\I1243960976\InstallerData\Execute.zip
C:\Documents and Settings\bentleyt\Local Settings\Temp\I1243960976\InstallerData

sun.boot.class.path:
C:\Documents and Settings\bentleyt\Local Settings\Temp\I1243960976\Windows\resource\jre\lib\resources.jar
C:\Documents and Settings\bentleyt\Local Settings\Temp\I1243960976\Windows\resource\jre\lib\rt.jar
C:\Documents and Settings\bentleyt\Local Settings\Temp\I1243960976\Windows\resource\jre\lib\sunrsasign.jar
C:\Documents and Settings\bentleyt\Local Settings\Temp\I1243960976\Windows\resource\jre\lib\jsse.jar
C:\Documents and Settings\bentleyt\Local Settings\Temp\I1243960976\Windows\resource\jre\lib\jce.jar
C:\Documents and Settings\bentleyt\Local Settings\Temp\I1243960976\Windows\resource\jre\lib\charsets.jar
C:\Documents and Settings\bentleyt\Local Settings\Temp\I1243960976\Windows\resource\jre\classes

java.ext.dirs:
C:\Documents and Settings\bentleyt\Local Settings\Temp\I1243960976\Windows\resource\jre\lib\ext
C:\WINDOWS\Sun\Java\lib\ext

java.version == 1.6.0_11 (Java 1)
java.vm.name == Java HotSpot(TM) Client VM
java.vm.vendor == Sun Microsystems Inc.
java.vm.version == 11.0-b16
java.vm.specification.name == Java Virtual Machine Specification
java.vm.specification.vendor == Sun Microsystems Inc.
java.vm.specification.version == 1.0
java.specification.name == Java Platform API Specification
java.specification.vendor == Sun Microsystems Inc.
java.specification.version == 1.6
java.vendor == Sun Microsystems Inc.
java.vendor.url == http://java.sun.com/
java.class.version == 50.0
java.compiler == null
java.home == C:\Documents and Settings\bentleyt\Local Settings\Temp\I1243960976\Windows\resource\jre
java.io.tmpdir == C:\DOCUME~1\bentleyt\LOCALS~1\Temp\
os.name == Windows 2003
os.arch == x86
os.version == 5.2
path.separator == ;
file.separator == \
file.encoding == Cp1252
user.name == bentleyt
user.home == C:\Documents and Settings\bentleyt
user.dir == C:\Documents and Settings\bentleyt\Local Settings\Temp\I1243960976\Windows
user.language == en
user.region == null
__________________________________________________________________________

Install Begin: Tue Jun 02 12:43:25 EDT 2009
Install End: Tue Jun 02 12:43:44 EDT 2009

Installed by InstallAnywhere 10.0 Enterprise Build 3762


User Interactions
-----------------


#Choose Install Folder
#---------------------
USER_INSTALL_DIR=C:\\Program Files (x86)\\My_Product

#Choose Shortcut Folder
#----------------------
USER_SHORTCUTS=C:\\Documents and Settings\\bentleyt\\Start Menu\\Programs\\My_Product

Summary
-------

Installation: Unsuccessful.

23 Successes
0 Warnings
0 NonFatalErrors
1 FatalErrors

Action Notes:

None

Install Log Detail:

Check Disk Space: C:\Program Files (x86)\My_Product
Status: SUCCESSFUL
Additional Notes: NOTE - Required Disk Space: 94,815,443; Free Disk Space: 73,084,141,568

Install Directory: C:\Program Files (x86)\My_Product\
Status: SUCCESSFUL

Install Directory: C:\Program Files (x86)\My_Product\Uninstall_My_Product\
Status: SUCCESSFUL

Install Uninstaller: My_Product (Install All Uninstaller Components)
Status: SUCCESSFUL

Create LaunchAnywhere: resource jar is empty
Status: SUCCESSFUL

Install Directory: C:\Program Files (x86)\My_Product\jre
Status: SUCCESSFUL

Install JRE: C:\Program Files (x86)\My_Product\jre
Status: SUCCESSFUL

Install File: C:\Program Files (x86)\My_Product\Uninstall_My_Product\Uninstall My_Product.exe
Status: SUCCESSFUL


Install File: C:\Program Files (x86)\My_Product\Uninstall_My_Product\Uninstall My_Product.lax
Status: SUCCESSFUL

Install Directory: C:\Program Files (x86)\My_Product\Uninstall_My_Product\resource\
Status: SUCCESSFUL

Install File: C:\Program Files (x86)\My_Product\Uninstall_My_Product\resource\iawin32.dll
Status: SUCCESSFUL

Install File: C:\Program Files (x86)\My_Product\Uninstall_My_Product\resource\win64_32_x64.exe
Status: SUCCESSFUL

Install File: C:\Program Files (x86)\My_Product\Uninstall_My_Product\resource\remove.exe
Status: SUCCESSFUL

Make Registry Entry: Key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\My_Product
Value Name: DisplayName
Value Data: My_Product
Status: SUCCESSFUL

Make Registry Entry: Key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\My_Product
Value Name: UninstallString
Value Data: "C:\Program Files (x86)\My_Product\Uninstall_My_Product\Uninstall My_Product.exe"
Status: SUCCESSFUL

Make Registry Entry: Key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\My_Product
Value Name: ProductID
Value Data: b4e4eae0-1ef3-11b2-a05a-945833c60398
Status: SUCCESSFUL

Make Registry Entry: Key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\My_Product
Value Name: InstallLocation
Value Data: C:\Program Files (x86)\My_Product
Status: SUCCESSFUL

Make Registry Entry: Key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\My_Product
Value Name: InstallDate
Value Data: Tue Jun 02 12:43:26 EDT 2009
Status: SUCCESSFUL

Make Registry Entry: Key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\My_Product
Value Name: DisplayVersion
Value Data: 1.0.0.0
Status: SUCCESSFUL

Install Uninstaller: My_Product (Install All Uninstaller Components)
Status: SUCCESSFUL

Error: java.net.UnknownHostException: WMWX64BENTLEYT: WMWX64BENTLEYT
Status: SUCCESSFUL

Custom Action: com.ibm.tom.MyCustomAction
Status: FATAL ERROR
Additional Notes: FATAL ERROR - class com.ibm.tom.MyCustomAction FatalInstallException: java.net.UnknownHostException: WMWX64BENTLEYT: WMWX64BENTLEYT



---------------------------------------------------------------

Here is the Java custom code

package com.ibm.tom;

import java.net.InetAddress;

import com.zerog.ia.api.pub.CustomCodeAction;
import com.zerog.ia.api.pub.CustomError;
import com.zerog.ia.api.pub.FatalInstallException;
import com.zerog.ia.api.pub.InstallException;
import com.zerog.ia.api.pub.InstallerProxy;
import com.zerog.ia.api.pub.UninstallerProxy;

public class MyCustomAction extends CustomCodeAction
{

@Override
public String getInstallStatusMessage()
{
return "MyCustomAction"; // screen will say "Installing... My Action"
}

@Override
public String getUninstallStatusMessage()
{
return "MyCustomAction"; // screen will say "Installing... My Action"
}

@Override
public void install(InstallerProxy ip) throws InstallException
{
CustomError error = (CustomError)ip.getService(CustomError.class);
String msg;
try
{
msg = InetAddress.getLocalHost().getHostName();
error.setLogDescription("Host Name: " + msg);
error.log();
}
catch (Throwable e)
{
error.setLogDescription("Error: " + e.toString());
error.log();
//e.printStackTrace();
throw new FatalInstallException(e.toString());
}
}

@Override
public void uninstall(UninstallerProxy up) throws InstallException
{
// TODO Auto-generated method stub

}

}

----------------------------------------------------------------


----------------------------------------------------------------
Labels (1)
0 Kudos
(4) Replies
taile1
Level 3

Tom,

Were you able to find the cause/solution this? I am also hitting this problem.

I have found this problem only occurs in the installer using 32-bit JRE on 64-bit Windows.

With 32-bit JRE on 32-bit Windows, 64-bit JRE on 64-bit Windows, or a sample Java program, InetAddress.getLocalHost().getHostName() is OK.

Thanks,
-Tai
0 Kudos
barryklecka
Level 3

taile1 wrote:
Tom,

Were you able to find the cause/solution this? I am also hitting this problem.

I have found this problem only occurs in the installer using 32-bit JRE on 64-bit Windows.

With 32-bit JRE on 32-bit Windows, 64-bit JRE on 64-bit Windows, or a sample Java program, InetAddress.getLocalHost().getHostName() is OK.

Thanks,
-Tai


I've had the same issue and the only solution was to not mix 32 bit and 64 bit JRE/JDKs.

If I did, a fair number of my plugins would no longer function properly.
0 Kudos
Alan_Heath
Level 2

I am experiencing the same issuewhen installing using a 32 bit windows VM on a 64 bit windows 7 machine. I also get the UnknownHostException with a message showing the host name twice in CAPITALS.

Now the strange part is that if I run the same code in the custom code after the install using the same VM it works correctly.

private String getHostName()
{
String host = null;
try
{
java.net.InetAddress inetAddr = java.net.InetAddress.getLocalHost();
if (inetAddr != null)
{
host = inetAddr.getHostName();
}
}
catch (java.net.UnknownHostException uhe)
{
System.out.println(uhe.toString());
}
return host;

}
0 Kudos
Alan_Heath
Level 2

I believe the way to get this working using a 32 bit JVM on a 64bit host is to add to the lax file the following
lax.nl.java.option.additional=-Djava.net.preferIPv4Stack=true

I made this change to the installed programs and the installer itself.
0 Kudos