Конзолен изход след опцията Inno VERYSILENT

Имам изпълним файл на Inno Setup за инсталиране на програмата. Уверих се, че използвам Как да разбера дали настройката работи в много тих режим? да използвате кода, за да откриете дали има превключвател Silent и да приложите превключвателя VerySilent по време на инсталирането. Проблемът, с който се сблъсквам сега, е, че имам нужда от някакъв изход на конзолата, като по време на инсталирането се казва: BUSY... и точно след завършване на инсталацията изходът на конзолата като: ГОТОВО!

Това е необходимо, защото трябва да използвам ключ /VERYSILENT и използвайки това, нямаме представа дали инсталацията е завършена или не, ако е завършена дали е успешна или не. Освен това полето за съобщения не е правилният начин, защото инсталиранията се извършват дистанционно. Само конзолен изход и, ако е възможно, лог файл.

Опитах обичайния паскал код:

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

Оценява се всяка помощ и ако е необходимо допълнително изясняване на проблема, моля, попитайте.


person Vivian Lobo    schedule 28.12.2012    source източник


Отговори (1)


Инсталаторите се създават като GUI приложения. Поради това 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 ...

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

person Miral    schedule 29.12.2012
comment
Определено ще пробвам това, но мисля, че разбрах какво обясняваш. Чудех се защо обикновеният синтаксис не работи. Благодаря - person Vivian Lobo; 03.01.2013
comment
Една малка грешка в синтаксиса start: трябва да цитирате името на файла, ако може да съдържа интервали, но ако го направите, трябва да включите допълнителен фиктивен параметър. Редактирах отговора си по-горе, за да покажа пример. - person Miral; 09.01.2013