* При перепечатке материалов ссылка на www.SeoLiga.ru обязательна!
Cabinet File (*.CAB) Compression and Extraction – версия 9.9
6 февраля 2009
[C++, MC++, C#] Библиотека для работы с «архивами» формата «Microsoft Cabinet» (.CAB); поддерживается как создание таких архивов, так и извлечение из них отдельных файлов. Предлагаются два варианта библиотеки, использующие общее ядро, написанное на «чистом» C++: один для применения при разработке «неуправляемых» приложений на C++, а второй – для приложений, использующих .NET Framework. Заметим, что оба варианта поддерживают архитектуры процессора x86 и x64.
К основным преимуществам своего творения автор относит следующее: библиотека очень легка в использовании; библиотека легковесна и очень быстра в работе; библиотека очень легко расширяется; оба варианта библиотеки могут использоваться при разработке в среде Visual Studio версий .NET (7.0), .NET 2003 (7.1) и .NET 2005 (8.0); приложения, созданные с использованием «неуправляемого» варианта, могут выполняться под управлением Windows 95, 98, ME, NT, 2000, XP, и Vista; «управляемые» приложения могут выполняться везде, где установлена соответствующая версия .NET Framework; :) поддерживается шифрование и дешифрование CAB-файлов; CAB-файлы могут содержать иерархии папок и файлов; времена и атрибуты отдельных файлов сохраняются и восстанавливаются при сжатии и извлечении соответственно; поддерживается извлечение из CAB-файлов, находящихся в ресурсах Win32- или .NET-приложения; поддерживается извлечение из CAB-файлов, находящихся на удаленных серверах, без предварительной загрузки этих файлов на локальный компьютер; поддерживается разделение больших CAB-файлов на несколько частей; предусмотрен вызов обработчика события, позволяющий отображать ход процесса сжатия или распаковки посредством GUI; в процессе сжатия и распаковки вызывается ряд обработчиков событий, позволяющих влиять на происходящее – например, фильтровать файлы; для работы с CAB-файлами используется библиотека Cabinet.dll, являющаяся частью операционной системы со времен Windows NT/98; оба варианта библиотеки поддерживают использование Unicode в путях и именах файлов вне зависимости от сборочной конфигурации проекта; «управляемый» вариант библиотеки потокобезопасен. К библиотеке прилагаются документация в формате CHM и примеры использования, с «боевым» вариантом ее применения можно ознакомиться в статье An Intelligent .NET Multilanguage Installer того же автора.