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

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

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

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

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

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

2
nl ja de

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 ...

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

1
добавлено
Одна небольшая ошибка в синтаксисе start : вы должны указать имя файла, если оно может содержать пробелы, но если вы это сделаете, вы должны включить дополнительный параметр фиктивного кода. Я привел мой ответ выше, чтобы показать пример.
добавлено автор Miral, источник
Я определенно попробую это, но я думаю, что понял, что вы объясняете. Мне было интересно, почему регулярный синтаксис не работает. благодаря
добавлено автор Vivian Lobo, источник