Консольный вывод после опции Inno VERYSILENT

У меня есть исполняемый файл Inno Setup для установки программы. Я убедился, используя Как определить, работает ли установка в очень тихом режиме? использовать код для определения наличия переключателя Silent и применения переключателя VerySilent при установке. Проблема, с которой я сейчас сталкиваюсь, заключается в том, что мне нужно что-то вроде вывода на консоли, например, при установке: BUSY... и сразу после завершения установки вывод на консоли как: DONE!

Это необходимо, потому что я должен использовать ключ /VERYSILENT, и мы не можем понять, была ли установка завершена или нет, завершена ли она успешно или нет. Кроме того, окно сообщения не является способом, потому что установка происходит удаленно. Просто вывод на консоль и, если возможно, файл журнала.

Я попробовал обычный код паскаля:

begin
  WriteLn('Hello World!');
end. 

Любая помощь приветствуется, и, если вам требуется дополнительная информация, пожалуйста, спросите.

1 ответ

Установщики создаются как приложения с графическим интерфейсом. Таким образом, Windows автоматически отключает консоль от них, когда они запускаются, и у них нет абсолютно никакой возможности написать в нее.

Вам придется справиться с этим через все, что вы используете для запуска установщика - например. в пакетном скрипте, например:

@echo off
echo BUSY...
start /wait path\to\setup-foo /verysilent /norestart /suppressmsgboxes
echo DONE (%errorlevel%)

(Вы также можете использовать /LOG параметр.)

Если путь к настройке может содержать пробелы, вы должны использовать немного более странный синтаксис:

start /wait "" "another path\to\setup-foo" /verysilent /norestart ...

(Пустые двойные кавычки обязательны и должны появляться перед путем к исполняемому файлу.)

Другие вопросы по тегам