Я хотел бы манипулировать одним из наших (неподписанных) файлов CAB, созданных с помощью CABWIZ, путем замены файла в шкафу. В настоящее время я использую Microsoft.Deployment.Compression.Cab.dll
для этой задачи (извлеките все файлы, замените цель, заново создайте шкаф), который работает довольно хорошо, так как я долго не включаю сжатие.Сжатые файлы CAB не могут быть установлены WCELOAD
cabInfo.Pack(workingFolder.FullName, true, CompressionLevel.None, null);
Как только я включить сжатие, WM 6.5.3 не будет устанавливать файл CAB больше:
Установка CABFILE оказалась неудачной.
Оригинальный файл, созданный CABWIZ, сжат, поэтому я знаю, что WCELOAD в WM может обрабатывать сжатые файлы. Я искал параметры конфигурации для библиотеки Microsoft, но не нашел.
Есть ли способ создать сжатый CAB с библиотекой Microsoft или какие-либо другие библиотеки, которые могут быть использованы для этой задачи? Существует множество библиотек для управления CAB-файлами, но я не мог найти информацию об одном, который может создавать сжатые файлы CAB, совместимые с WCELOAD.
Обновление: После некоторого исследования я обнаружил, что WCELOAD поддерживает алгоритм MSZIP, тогда как в библиотеке Microsoft используется LZX. Поэтому я ищу библиотеку, способную создавать сжатые CAB-файлы с использованием алгоритма MSZIP.