NSIS: Как вручную извлечь файлы во время установки - PullRequest
2 голосов
/ 27 марта 2012

У меня довольно большой проект, установщик которого написан с использованием NSIS.
Моя проблема в том, что я не могу просто добавить все файлы в файл установщика, потому что он превысит ограничение в 2 ГБ.
Я также не могу оставить свои большие файлы в виде плоской структуры на DVD и просто скопировать их с помощью команды CopyFiles, потому что общий размер структуры каталогов превысит 4,7 ГБ.

Итак, что я хочу сейчас сделать - это разместить мои большие файлы в плоской, но сжатой структуре на DVD и вручную извлечь их в каталог установки во время установки. Структура на DVD будет выглядеть так:

/ 
+--+ data
|  +-- <compressed files>
+--setup.exe 

Есть ли какие-нибудь удобные способы сделать это?

Заранее большое спасибо за любые идеи.

1 Ответ

7 голосов
/ 28 марта 2012
  • Существует несколько плагинов NSIS, которые можно извлекать из внешних архивов: ZipDLL , NsUnzip , ExtractDLLEx , ExtractDLL , CABSetup или UnTGZ
  • Вы можете запустить внешний инструмент, такой как UnRAR.exe или 7z.exe
  • Вы можете создать несколько запускаемых мини-установщиков NSIS (Запустите с / D, чтобы установить $ instdir для подустановщиков, вы, вероятно, захотите использовать /S /D=$instdir)
...