2009-09-14 35 views
7

Tôi đang sử dụng thư viện CSharpZipLib để tự động nén một số tệp. Vấn đề là tệp zip kết quả không hoạt động với Winzip (phiên bản 8.1) hoặc thư mục nén của XP. Nó hoạt động với 7zip.C# với SharpZipLib - Khả năng tương thích của SharpZipLib với Winzip và XP?

Winzip cung cấp lỗi tệp này không ở định dạng Zip 2.0 chuẩn.

Có thông số nào tôi có thể thay đổi để thư viện có thể nén theo định dạng tương thích Winzip/XP không?

Trả lời

14

Set này trong ZipOutputStream của bạn:

UseZip64 = ICSharpCode.SharpZipLib.Zip.UseZip64.Off 

Zip64 không tương thích với các tiện ích thư mục nén Windows XP hoặc với WinZip.

Chỉnh sửa: dường như API đã thay đổi kể từ phiên bản tôi đang sử dụng, thuộc tính hiện là một enum thay vì giá trị Boolean.

+0

Tôi đã thử s.UseZip64 = false nhưng VS2008 phàn nàn Không thể chuyển đổi hoàn toàn loại 'bool' thành 'ICSharpCode.SharpZipLib.Zip.UseZip64'? –

+0

Cần sử dụng s.UseZip64 = UseZip64.Off –

+0

Cảm ơn - hoạt động tốt ngay bây giờ. –

Các vấn đề liên quan