我有一个Inno Setup可执行文件来安装程序。我已确保使用How to detect whether the setup runs in very silent mode?来使用代码来检测是否存在静音开关并在安装时应用了VerySilent开关。我现在面临的问题是我需要在控制台上输出某种类型的输出,同时安装:BUSY ......并且在完成安装后,控制台上的输出为:DONE!
这是必需的,因为我必须使用/ VERYSILENT开关并使用它,我们不知道安装是否完成,如果完成则是否成功。此外,还有一个消息框,因为安装是远程进行的。只是一个控制台输出,如果可能的话也是一个日志文件。
我尝试过常用的pascal代码:
begin
WriteLn('Hello World!');
end.
任何帮助都表示赞赏,如果需要进一步澄清问题,请询问。
答案 0 :(得分: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 ...
(空双引号是必需的,必须出现在可执行路径之前。)