JDK-6395069 : offline wrapper has extraction problem on winME
  • Type: Bug
  • Component: install
  • Sub-Component: install
  • Affected Version: 5.0u8
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2006-03-07
  • Updated: 2013-06-04
  • Resolved: 2006-04-20
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.
Other JDK 6
5.0u8 b01Fixed 6Fixed
Description
Steps to reproduce:

1. Use IE to open the JRE offline installer on winME.  
2. Once the JRE license agreement is shown, cancel the install
3. The machine will crash

Comments
SUGGESTED FIX ------- wrapper.cpp ------- 581,582c581 < DWORD dwNumberOfBytesWritten = 0; < ::WriteFile(hFile, lpVoid, dwSize, &dwNumberOfBytesWritten, NULL); --- > DWORD dwTotalNumberOfBytesWritten = 0; 583a583,595 > while (dwTotalNumberOfBytesWritten < dwSize) { > DWORD dwNumberOfBytesWritten = 0; > > ::WriteFile(hFile, lpVoid, 8192, &dwNumberOfBytesWritten, NULL); > > // should we use a larger buffer for better IO performance? > //::WriteFile(hFile, lpVoid, 65536, &dwNumberOfBytesWritten, NULL); > > //lpVoid += dwNumberOfBytesWritten; > lpVoid = (LPVOID)(LPBYTE(lpVoid) + dwNumberOfBytesWritten); > dwTotalNumberOfBytesWritten += dwNumberOfBytesWritten; > } >
07-03-2006

EVALUATION We should extract the MSI file in smaller chunks by using a loop.
07-03-2006