Community Forums
Results 1 to 5 of 5

Thread: Issues running CustomCodeAction on Windows 64 bit

  1. #1
    Join Date
    Jun 2009
    Posts
    0

    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

    }

    }

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


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

  2. #2
    Join Date
    Dec 2002
    Posts
    28
    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

  3. #3
    Join Date
    Aug 2009
    Posts
    4
    Quote Originally Posted by taile1 View Post
    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.

  4. #4
    Join Date
    Nov 2008
    Posts
    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;
    }

  5. #5
    Join Date
    Nov 2008
    Posts
    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.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •