JDK-6647280 : no logfile for zipper.exe and unpack200.exe during JRE install
  • Type: Bug
  • Component: install
  • Sub-Component: install
  • Affected Version: 6u3
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS: windows_xp
  • CPU: x86
  • Submitted: 2008-01-04
  • Updated: 2010-09-17
  • Resolved: 2008-03-17
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.
JDK 6 JDK 7
6u10 b12Fixed 7Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Description
The log output from zipper.exe and unpack200.exe is lost and not available for troubleshooting reports of Error 1722.

The LOGFILE property is not set during install for zipper.exe and unpack200.exe.

The log file is passed as an empty quoted string:
zipper.exe "C:\Program Files\Java\jre6\core.zip" "C:\Program Files\Java\jre6\" ""
or
unpack200.exe -r -v -l "" "C:\Program Files\Java\jre6\lib\rt.pack" "C:\Program Files\Java\jre6\lib\rt.jar"

Comments
SUGGESTED FIX Log zipper.exe output to %TEMP%\java_install.log. Added Error 25099. Unzipping core files failed. Log unpack200.exe output to %TEMP%\java_install.log. launcher.exe replaced by ExecuteProgram(). Added specific error numbers: Error 26011. Unpacking rt failed. Error 26022. Unpacking charsets failed. Error 26033. Unpacking deploy failed. Error 26044. Unpacking javaws failed. Error 26055. Unpacking plugin failed. Error 26066. Unpacking jsse failed. Error 26077. Unpacking localedata failed. added SetupError ErrorIcon pointing to existin NewBinary4 (warning icon) to fix getting an error 2835 while handling another error. For example, Error 2835 has be logged while handling and logging an error, like: DEBUG: Error 2835: The control ErrorIcon was not found on dialog SetupError Internal Error 2835. ErrorIcon, SetupError Error 26022. Unpacking charsets failed. webrev: http://sa.sfbay.sun.com/projects/deployment_data/6u10/6647280.4 testcases: http://oklahoma.east/deployment/www/tests/1.6.0_10/6647280/testcase_6647280.txt
31-01-2008

EVALUATION MSIGetLogFileName() is not setting the property LOGFILE, and custom actions like rt do not have a log file. For example, "[lib]launcher.exe" "[bin]unpack200.exe" -r -v -l "[LOGFILE]" "[INSTALLDIR]lib\rt.pack" "[INSTALLDIR]lib\rt.jar" is executed as "C:\Program Files\Java\jre6\lib\launcher.exe" "C:\Program Files\Java\jre6\bin\unpack200.exe" -r -v -l "" "C:\Program Files\Java\jre6\lib\rt.pack" "C:\Program Files\Java\jre6\lib\rt.jar" and unzipcore does not have a log file: CustomActionSchedule(Action=unzipcore,ActionType=3090,Source=C:\Program Files\Java\jre6\zipper.exe,Target="C:\Program Files\Java\jre6\core.zip" "C:\Program Files\Java\jre6\" "",) I've confirmed with printf's that the call to MsiSetProperty() is failing in MSIGetLogFileName() and LOGFILE is not set. I have found documentation that MsiSetProperty() from a deferred custom action is not supposed to work. "It is necessary to set properties with custom actions that have an in-script execution option other than deferred execution." in http://support.installshield.com/kb/view.asp?articleid=Q104413 and "Any custom action that sets a property should be scheduled for immediate execution." in http://helpnet.installshield.com/robo/projects/installshield11helplib/IHelpInsertCARulesPropertyDirectory.htm I made changes so it was actually writing to java_install.log (which will be a help in debugging in the future). This execution code to fix the logging can be enhanced to report specific errors instead of generic Error 1722s. Use of Launcher.exe during install gets replaced by the same code in regutils.cpp. I need to add code to post a custom error message with the command that failed (which replaces Error 1722).
04-01-2008