Inno Setup - условные загрузки на основе задач или компонентов - PullRequest
4 голосов
/ 12 декабря 2011

Я использую Inno Setup 5.4.2 (a) для создания загрузчика. Теперь я наконец-то понял, что на основе выбранных компонентов загрузчик загружает необходимые файлы для компонентов, а затем устанавливает их.

Однако, поскольку файлы компонентов должны быть загружены, он показывает необходимое дисковое пространство 0,1 МБ, и я хотел бы, чтобы он отображал каждый отдельный размер файла для загрузки на экране выбора компонентов.

Я использую InnoTools Downloader из http://www.sherlocksoftware.org и настроил функцию для получения размера файла:

[Code]
var
  setup: Double;
  drivers: Double;

function ITD_GetFileSize(const url: string; var size:cardinal): boolean;
procedure InitializeWizard();
begin
 itd_init;
 ITD_GetFileSize('http://www.domain.com/file1.exe',setup);
 ITD_GetFileSize('http://www.domain.com/drivers.exe',drivers);
end;

Файлы загружаются после выбора компонентов (конечно). Файл перевода, который я нашел

ComponentSize1=%1 KB
ComponentSize2=%1 MB

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

Спасибо

1 Ответ

0 голосов
/ 12 декабря 2011

Используйте параметр ExtraDiskSpaceRequired для записи [Components], чтобы указать пространство, необходимое для внешних компонентов.

...