распаковать файлы данных перед запуском inno setup - PullRequest
1 голос
/ 14 мая 2011

Я работаю над приложением, которое использует файлы данных очень большого размера. Мой клиент хочет заархивировать эти файлы данных отдельно от exe установки, тогда установщик должен распаковать их перед началом установки. Это возможно с помощью inno? У меня нет большого опыта в Паскале, поэтому любая помощь будет высоко ценится.

1 Ответ

3 голосов
/ 14 мая 2011

Нет встроенной поддержки сценариев Pascal для распаковки

Несмотря на то, что Inno Setup внутренне имеет множество подпрограмм распаковки для поддержки различных способов сжатия файлов во время компиляции.Ни один из них не опубликован на языке сценариев Pascal.

Это все еще возможно, но вы должны создать DLL для выполнения этапа разархивирования.Затем используйте эту DLL при удалении.

Если вы не сжимаете, вы можете использовать этот метод:

В [Files] вашего сценария установки Inno вы можете ссылаться на файлы, которые не содержатсяв вашей настройке, используя флаг external.

[Files]
Source: "data1.dat" DestDir: "{app}" Flags: external;

Это скопирует data1.dat, расположенный в том же каталоге, что и ваш Setup.exe, в каталог установки вашего приложения.

AnАльтернатива для рассмотрения

Создайте отдельный скрипт установки Inno для файлов данных.Дайте этот скрипт своим клиентам, чтобы они могли запустить его с помощью компилятора вместо программы Zip.

Он будет сжимать данные, как это делает ZIP, хотя по умолчанию используется lzma2/max.Эту установку можно затем связать через раздел [Run] для установки сразу после установки приложения.

2-й вариант для рассмотрения

На основании вашего комментария я немного лучше понимаю вашу проблему.

Вы можете собрать все файлы MP3 в одной установке.Вы можете сгруппировать файлы MP3, используя раздел [Components].Это позволяет пользователю выбирать, какую группу файлов он хочет установить.Раздел [Files] поддерживает подстановочные знаки, поэтому вы можете указать все файлы в одном каталоге, чтобы упростить поддержку сценария.

InnoSetup создан для обработки больших установок путем настройки способов прерывания установки.EXE в несколько файлов.

[Setup]
DiskSpanning=Yes
DiskSliceSize=XXX
SlicesPerDisk=XXX
SolidCompression=no (Default but it not recommended to be set 'YES' with Huge installs)
...