извлечь файл cab / zip на конечный компьютер через MSI - PullRequest
1 голос
/ 09 марта 2011

У меня длинная иерархия исходной папки, длина пути которой превышает 255 символов.

Это некоторые демонстрационные файлы и примеры файлов, которые я должен развернуть на конечном компьютере, и они редко меняются (не замечено, как они менялись с2 года).Также у нас есть свободный несжатый носитель для вывода MSI.

В настоящее время мы обрабатываем длинную пару через имя файла: имя файла.Мне интересно, могу ли я заархивировать все содержимое папки примеров, чтобы это был только один файл и его было легко обслуживать.

Проблема в том, как извлечь этот файл zip / cab на конечный компьютер в INSTALLDIR.

примечание: я не могу развернуть 7zip или любые другие экстракторы с открытым исходным кодом на компьютерах назначения.

1 Ответ

1 голос
/ 10 марта 2011

Если у вас есть CAB-файл, вы можете использовать expand.exe. Я не уверен, будет ли он обрабатывать длину пути, так как это все еще инструмент Windows.

Другой вариант - написать настраиваемое действие c ++ / .NET для распаковки. В .NET это будет довольно тривиально, если у вас есть .NET 3.5 или выше. Есть также некоторые Windows API, которые позволяют вам это делать.

...