http://bugs.winehq.org/show_bug.cgi?id=7690 ------- Additional Comments From focht(a)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.