Мой установщик, созданный с помощью Inno Setup, имеет размер около 850 МБ, содержащий около 7000 файлов и 890 папок, до несжатого размера 1,98 ГБ.
При запуске процесса установки после появления Windows UAC Dialog установщик сидит с пустым значком на панели задач в течение приблиз. За 45 секунд до отображения Welcome Dialog .
Я предполагаю, что это происходит в процессе распаковки установщика? При запуске установщика с использованием только фиктивной записи файла Welcome Dialog отображается сразу.
В разделе [Files]
я указываю только одну относительную папку:
Source: "{#Source}\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Сжатие в разделе [Setup]
установлено на:
Compression=lzma
SolidCompression=yes
Есть ли диалог, который я могу показать в течение этого времени, который дает пользователю визуальную обратную связь о том, что что-то готовится?
Чтобы добавить к этому вопросу: Последняя запись в файле журнала перед 45-секундным зависанием:
Extracting temporary file: C:\Users\Markus\AppData\Local\Temp\is-CBETM.tmp\license.rtf
Я использую пользовательскую страницу лицензии, на которой я извлекаю файл и загружаю егокак RTFText:
procedure LicensePage_Create;
var
LicenseFileName: string;
LicenseFilePath: string;
LicenseText: AnsiString;
begin
LicensePage := CreateOutputMsgMemoPage(wpSelectDir, SetupMessage(msgWizardLicense), SetupMessage(msgLicenseLabel), SetupMessage(msgLicenseLabel3), '');
LicensePage.RichEditViewer.Height := WizardForm.LicenseMemo.Height;
LicenseFileName := 'license.rtf';
ExtractTemporaryFile(LicenseFileName);
LicenseFilePath := ExpandConstant('{tmp}\license.rtf');
LoadStringFromFile(LicenseFilePath, LicenseText);
LicensePage.RichEditViewer.RTFText := LicenseText;
DeleteFile(LicenseFilePath);
LicensePage.OnActivate := @LicensePageActivate;
LicenseAcceptedRadio := CloneLicenseRadioButton(WizardForm.LicenseAcceptedRadio);
LicenseNotAcceptedRadio := CloneLicenseRadioButton(WizardForm.LicenseNotAcceptedRadio);
LicenseNotAcceptedRadio.Checked := True;
LicensePageID := LicensePage.ID;
end;