Como he comentado otras veces siempre utilizo el componente TZIP.
http://www.programmersheaven.com/dow.../download.aspx
de aca podes descargarlo. y simplemente con transportar las DLL's tu aplicacion estaria funcionando.
ACa Dejo un ejemplo de un codigo que utilizo para Comprimir un archibvo si llega a un determinado Tamaño
Código Delphi
[-]
Procedure ZipFile(FName,DestName:string);
var
Zfile:TZip;
FHandle:integer;
T:real;
aux:string;
begin
try
FHandle := FileOpen(FName, 0);
try
t := (getfilesize(FHandle,nil)/1048576);
finally
FileClose(FHandle);
end;
if T<200 then
exit;
Zfile:=TZip.create(nil);
Zfile.Filename:=ExtractFilePath(paramstr(0))+'LogFile\'+DestName+'.old';
Zfile.ShowProgressDialog:=false;
Zfile.FileSpecList.Add(fname);
Zfile.add;
sleep(900);
if FileExists(fname) then
DeleteFile(pchar(fname));
Zfile.free;
except
on e:exception do
aux:=e.message;
end;
end;
el porceso para la descompresion es similar. igual esta en los ejemplos
Saludos