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
regression caused by fix to :
6757796: Silent installs of the JRE don't accept license agreement and shouldn't download JavaFX Ext Jars
|
|
|
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
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
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.
|
|
|
WORK AROUND
Reboot the machine.
PendingFileRenameOperations will no longer be set and the install should work properly.
|
|
|
SUGGESTED FIX
Remove PendingFileRenameOperationsSignature from the RegLocator and AppSearch tables. They were just there for logging.
|
|
|
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.
|
|
|