United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: 6747473 REGRESSION:Installing 64bit JDK, an error message shows when begin the JRE installer
6747473 : REGRESSION:Installing 64bit JDK, an error message shows when begin the JRE installer

Details
Type:
Bug
Submit Date:
2008-09-11
Status:
Closed
Updated Date:
2010-09-08
Project Name:
JDK
Resolved Date:
2009-01-29
Component:
install
OS:
windows_vista,windows_xp
Sub-Component:
install
CPU:
x86
Priority:
P2
Resolution:
Fixed
Affected Versions:
6u10
Fixed Versions:
6u12

Related Reports
Duplicate:
Duplicate:
Relates:

Sub Tasks

Description
When installing the 64-bit JDK the first part of the installation
goes well but an error message comes up right at the beginning of the
JRE installer...

"Internal Error 2318. C:\Windows\system32\java.exe"

The mentioned file does not exist on system (Vista 64-bit). The
file exists at C:\Windows\SysWOW64 instead.

JDK: Pass with 6u10 b30 and previous releases.  Fail with 6u10 b31. And the same problem can be reproduced on both winXP and vista machines.

How to reproduce:
1. uninstall all java on test machine
2. install windows-i586 jdk bundle first. Make sure both jdk and jre are
installed.
3. install windows-amd64 jdk bundle. JDK is installed successfully.

When it tries to install jre, it pops up Java Setup error message:
"Internal Error 2318. C:\WINDOWS\system32\java.exe".

If click on "OK" to close the message. Then, JRE successfully Installed
message shows. However, C:\Program Files\Java has jdk1.6.0_10 only. It
does not have jre6.

"java -version" does not work.

                                    

Comments
SUGGESTED FIX

Use the existing "offline" release to build the x64 JDK with external MSI and CAB files.
Build wrapper.jdk for 64-bit also.
Extract 64-bit cab files to %APPDATA%\Sun\Java\jdk1.6.0_10_x64\.

webrev: http://sa.sfbay.sun.com/projects/deployment_data/6u11/6747473.0
                                     
2008-09-18
EVALUATION

Action ended 12:17:31: MigrateFeatureStates. Return value 0.
MSI (c) (9C:98) [12:17:31:843]: Doing action: CustomSetup
Action 12:17:31: CustomSetup. 
Action start 12:17:31: CustomSetup.
Info 2898.Tahoma8, Tahoma, 1
Info 2898.MSSansBold8, Tahoma, 1
Info 2898.MSSWhiteSerif8, Tahoma, 1
Log entries for failure:

Action 12:17:31: CustomSetup. Dialog created
MSI (c) (9C:44) [12:17:31:921]: Note: 1: 2205 2:  3: _RemoveFilePath 
MSI (c) (9C:44) [12:17:31:921]: Note: 1: 2262 2: DuplicateFile 3: -2147287038 
MSI (c) (9C:44) [12:17:31:921]: Note: 1: 2318 2: C:\WINDOWS\system32\java.exe 
DEBUG: Error 2318:  File does not exist: C:\WINDOWS\system32\java.exe
Internal Error 2318. C:\WINDOWS\system32\java.exe
MSI (c) (9C:44) [12:19:33:078]: Product: Java(TM) 6 Update 10 (64-bit) -- Internal Error 2318. C:\WINDOWS\system32\java.exe

Action ended 12:19:33: CustomSetup. Return value 3.
MSI (c) (9C:98) [12:19:33:078]: Skipping action: SetupCompleteError (condition is false)
Action ended 12:19:33: INSTALL. Return value 3.

=====================================================================
Log entries when successful:

Action ended 17:11:50: MigrateFeatureStates. Return value 0.
MSI (c) (6C:D0) [17:11:50:312]: Doing action: CustomSetup
Action 17:11:50: CustomSetup. 
Action start 17:11:50: CustomSetup.
Info 2898.Tahoma8, Tahoma, 1
Info 2898.MSSansBold8, Tahoma, 1
Info 2898.MSSWhiteSerif8, Tahoma, 1
Action 17:11:50: CustomSetup. Dialog created
MSI (c) (6C:78) [17:11:50:375]: Note: 1: 2205 2:  3: _RemoveFilePath 
MSI (c) (6C:78) [17:11:50:375]: Note: 1: 2262 2: DuplicateFile 3: -2147287038 
MSI (c) (6C:78) [17:11:50:375]: Note: 1: 2756 2: client 
MSI (c) (6C:78) [17:11:50:375]: Note: 1: 2262 2: TypeLib 3: -2147287038 
MSI (c) (6C:78) [17:11:50:375]: Note: 1: 2262 2: Class 3: -2147287038 
MSI (c) (6C:78) [17:11:50:375]: Note: 1: 2262 2: Extension 3: -2147287038 
MSI (c) (6C:78) [17:11:50:375]: Note: 1: 2262 2: Class 3: -2147287038 
MSI (c) (6C:78) [17:11:50:375]: Note: 1: 2262 2: Extension 3: -2147287038 
MSI (c) (6C:78) [17:11:50:375]: PROPERTY CHANGE: Modifying CostingComplete property. Its current value is '0'. Its new value: '1'.
MSI (c) (6C:78) [17:11:50:375]: Note: 1: 2262 2: BindImage 3: -2147287038 
MSI (c) (6C:78) [17:11:50:375]: Note: 1: 2262 2: ProgId 3: -2147287038 
MSI (c) (6C:78) [17:11:50:375]: Note: 1: 2262 2: PublishComponent 3: -2147287038 
MSI (c) (6C:78) [17:11:50:375]: Note: 1: 2262 2: SelfReg 3: -2147287038 
MSI (c) (6C:78) [17:11:50:375]: Note: 1: 2262 2: Extension 3: -2147287038 
MSI (c) (6C:78) [17:11:50:375]: Note: 1: 2262 2: Font 3: -2147287038 
MSI (c) (6C:78) [17:11:50:375]: Note: 1: 2262 2: Class 3: -2147287038 
MSI (c) (6C:78) [17:11:50:375]: Note: 1: 2727 2:  
MSI (c) (6C:78) [17:11:50:812]: Note: 1: 2727 2:  
MSI (c) (6C:78) [17:11:51:312]: Note: 1: 2727 2:  
MSI (c) (6C:78) [17:11:51:812]: Note: 1: 2727 2:  
MSI (c) (6C:78) [17:11:52:312]: Note: 1: 2727 2:  
MSI (c) (6C:78) [17:11:52:812]: Note: 1: 2727 2:  
MSI (c) (6C:78) [17:11:52:890]: Doing action: issemicolon
Action 17:11:52: issemicolon. 
Action start 17:11:52: issemicolon.
MSI (c) (6C:D8) [17:11:53:062]: Invoking remote custom action. DLL: C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\MSI339.tmp, Entrypoint: MSIIsINSTALLDIRValid
MSI (c) (6C!D8) [17:11:53:125]: PROPERTY CHANGE: Modifying SEMICOLON property. Its current value is '0'. Its new value: '1'.
Action ended 17:11:53: issemicolon. Return value 1.
Action ended 17:11:53: CustomSetup. Return value 1.
                                     
2008-09-15
SUGGESTED FIX

The fix is to replace the x64 JDK installer with a port of 32-bit JDK installer to 64-bit.
                                     
2008-09-15
EVALUATION

The offline x64 JDK installer is a 32-bit executable.  When the offline JDK installer launches the JDK MSI, a 32-bit MSIEXEC.exe is used.  When the JDK MSI launches the Public JRE MSI, a 32-bit MSIEXEC.exe is used.

The offline x64 JRE installer is a 64-bit executable.  When the JRE installer launches the MSI, a 64-bit MSIEXEC.exe is used.

The fix for 6717435 requires it to be run from a 64-bit MSIEXEC.exe.

The fix is to replace the x64 JDK installer with a port of 32-bit JDK installer to 64-bit.  As more functionality is added to the 64-bit JRE, it will require running from a 64-bit MSIEXEC.exe.
                                     
2008-09-15
EVALUATION

With the 6u7 32-bit JRE installed and a copy of the public JRE msi in C:\Program Files\Java\, executing the following on a 32-bit or 64-bit Command Processor :
c:\WINDOWS\SysWOW64\msiexec /i "C:\Program Files\Java\jre.msi" ADDLOCAL=ALL SDKSILENT=1 CURRENTDIRECTORY=C:\WINDOWS\SysWOW64
duplicates the problem.

The following also fail using a 32-bit command prompt:
C:\> c:\WINDOWS\SysWOW64\msiexec /i "C:\Program Files\Java\jre.msi" SDKSILENT=1 CURRENTDIRECTORY=C:\WINDOWS\SysWOW64
C:\> c:\WINDOWS\SysWOW64\msiexec /i "C:\Program Files\Java\jre.msi" SDKSILENT=1
C:\> c:\WINDOWS\SysWOW64\msiexec /i "C:\Program Files\Java\jre.msi"
C:\Program Files\Java> c:\WINDOWS\SysWOW64\msiexec /i jre.msi

At a C:\WINDOWS\SysWOW64\cmd.exe command prompt:
C:\WINDOWS\SysWOW64> msiexec /i "C:\Program Files\Java\jre.msi"
fails.

The above seem to work when there is no JRE installed.

The following work with the 6u7 32-bit JRE installed :
C:\>msiexec /i "C:\Program Files\Java\jre.msi" ADDLOCAL=ALL SDKSILENT=1 CURRENTDIRECTORY=C:\WINDOWS\SysWOW64
C:\>msiexec /i "C:\Program Files\Java\jre.msi"
C:\Program Files\Java>msiexec /i jre.msi
                                     
2008-09-12
WORK AROUND

When installing the Windows 64-bit JDK:
To avoid "Internal Error 2318. C:\Windows\system32\java.exe", either:
- Install the 64-bit JRE before installing the 64-bit JDK (The Public JRE is already installed and the error will not occur.),
or
- Deselect Public JRE when installing the 64-bit JDK, then install the 64-bit JRE separately.

If you encounter "Internal Error 2318. C:\Windows\system32\java.exe" when installing the Windows 64-bit JDK including the Public JRE, the JDK is already installed properly.  Install the 64-bit JRE separately to install a Public JRE.
                                     
2008-09-12



Hardware and Software, Engineered to Work Together