[Bug 7690] Hoai client fails to install

Wine Bugs wine-bugs at winehq.org
Fri Mar 16 15:41:56 CDT 2007


http://bugs.winehq.org/show_bug.cgi?id=7690





------- Additional Comments From focht at gmx.net  2007-16-03 15:41 -------
Hello,

by looking at the patch i think completely ignoring "compression type" by doing
CopyFile() in all cases might lead to undefined behaviour (e.g. compressed files
getting copied -> install succeeds but leaving applications in unusable state)

Compression support could be implemented as follows (pseudo code):

--- snip pseudo code ---

DWORD __stdcall SetupDecompressOrCopyFileW(PCWSTR SourceFileName,PCWSTR
TargetFileName,PUINT CompressionType)
{
 UINT comp_type = 0;

 if( CompressionType == NULL)
 {
   if(!SetupGetFileCompressionInfo( ..., &comp_type))
      return some_error;
 }
 else
 {
   comp_type = *CompressionType;
 }

 SetFileAttributes( target, FILE_ATTRIBUTE_NORMAL);
 DeleteFile( target);

 if( comp_type == FILE_COMPRESSION_NONE)
  {
   if(!MoveFile( source, target))
    {
      // might be different volume
      GetFileTime( source, ...);
      if( CopyFile( source, target))
          SetFileTime( target, ...);
    }
 }
 else if( comp_type == FILE_COMPRESSION_WINLZA)
    LZCopy( source, target);
 else if( comp_type == FILE_COMPRESSION_MSZIP || comp_type ==
FILE_COMPRESSION_NTCAB)
    FDICopy( source, target ....);
 else 
    return some_error_code;

--- snip pseudo code ---

Regards



-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the wine-bugs mailing list