JDK-6779985 : JRE install when PendingFileRenameOperations is set, Error 1606 or JavaFX preload is not run
  • Type: Bug
  • Component: install
  • Sub-Component: install
  • Affected Version: 6u10,6u11
  • Priority: P1
  • Status: Closed
  • Resolution: Fixed
  • OS: windows,windows_xp
  • CPU: generic,x86
  • Submitted: 2008-12-03
  • Updated: 2010-09-08
  • Resolved: 2009-01-29
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
6u12 b03Fixed
Related Reports
Duplicate :  
Relates :  
Relates :  
When installing 6u10 or later, javaws is invoked from the installer to import the javafx extensions into the user cache.
On some machines, this is not happening with 6u11 or 6u12 b01 or b02 pit bundles.

EVALUATION The description and MSI log from 6759045 shows that PENDING_FILE_RENAME_OPERATIONS can cause an Error 1606 during install.

SUGGESTED FIX PENDING_FILE_RENAME_OPERATIONS was there for logging. Removed from the RegLocator and AppSearch tables. MSICheckPendingFileRenameOperations() reads the PendingFileRenameOperationsSignature registry value itself. See http://support.microsoft.com/kb/897026 - The AppSearch action incorrectly truncates a REG_MULTI_SZ value that contains a null value in Windows Installer testcases: http://oklahoma.east/deployment/www/tests/1.6.0_12/6779985/test_6779985.txt

EVALUATION With an offline, non-sponsor install the following properties were not passed to the MSIEXEC server process because of PendingFileRenameOperations: ARPREADME="C:\Program Files\Java\jre1.6.0_14\README.txt" FIREFOXOPEN="1" IEOPEN="1" IEXPLORER="1" MOZILLA="1" ODB="C:\tmp\preload_tests\offline\jre1.6.0_14-s-test20.msi" CONSUMERPRODUCTFOUND="{26A24AE4-039D-4CA4-87B4-2F83216012FF}" USERNAME="CG" COMPANYNAME="Sun Microsystems, Inc." SOURCEDIR="C:\tmp\preload_tests\offline\" ACTION="INSTALL" EXECUTEACTION="INSTALL" ROOTDRIVE="C:\" EULA_JAVAFX_ACCEPT="yes" SECONDSEQUENCE="1" ADDLOCAL=both,IESUB,MOZILLASUB,jrecore It looks like the MSI set some of the properties correctly except for Property(S): EXECUTEACTION = INSTALL Property(S): ACTION = INSTALL Property(S): FIREFOXOPEN = 1 (0 instead) Property(S): IEOPEN = 1 (0 instead) Property(S): MOZILLA = 1 (0 instead) Property(S): ODB = C:\tmp\preload_tests\offline\jre1.6.0_14-s-test20.msi (0 instead) Property(S): EULA_JAVAFX_ACCEPT = yes Property(S): SECONDSEQUENCE = 1 Property(S): ADDLOCAL = both,IESUB,MOZILLASUB,jrecore Property(S): Preselected = 1 Problems related to any of the above may have been caused by PENDING_FILE_RENAME_OPERATIONS. There may be different problems with different MSIs (on-line, patch) or with language and sponsor transforms.

WORK AROUND Reboot the machine. PendingFileRenameOperations will no longer be set and the install should work properly.

EVALUATION Making the public property PENDING_FILE_RENAME_OPERATIONS in the AppSearch table a private property got around the problem. http://support.microsoft.com/kb/897026 - The AppSearch action incorrectly truncates a REG_MULTI_SZ value that contains a null value in Windows Installer says the problem exists in Microsoft Windows Installer 1.0 through 3.0. MSICheckPendingFileRenameOperations reads the registry itself. The RegLocator and AppSearch entries exist so the the value in the registry will be logged.

SUGGESTED FIX Remove PendingFileRenameOperationsSignature from the RegLocator and AppSearch tables. They were just there for logging.

EVALUATION It appears that it is failing when PendingFileRenameOperations is set. Running: reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager" /v PendingFileRenameOperations on my Windows XP desktop and Andy's Windows XP desktop displays entries for something other than Java.

EVALUATION When failing, EULA_JAVAFX_ACCEPT=yes is not being passed from msi client to msi server and you won't see Property(S): EULA_JAVAFX_ACCEPT = yes in a verbose MSI log. On my Windows XP desktop, it worked 10/27 and 11/4. On 11/20, 11/24, and today it fails.

EVALUATION regression caused by fix to : 6757796: Silent installs of the JRE don't accept license agreement and shouldn't download JavaFX Ext Jars