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
|
|
|
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.
|
|
|
SUGGESTED FIX
The fix is to replace the x64 JDK installer with a port of 32-bit JDK installer to 64-bit.
|
|
|
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.
|
|
|
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
|
|
|
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.
|
|
|
|