2

我有一个 Inno Setup 可执行文件来安装程序。我已经确定使用如何检测安装程序是否在非常安静的模式下运行?使用代码检测是否有 Silent 开关,并在安装时应用了 VerySilent 开关。我现在面临的问题是我需要控制台上的某种输出,如安装时:BUSY... 并且在完成安装后控制台上的输出为:DONE!

这是必需的,因为我必须使用 /VERYSILENT 开关,使用它我们不知道安装是否完成,如果完成是否成功。此外,消息框也不是要走的路,因为安装是远程进行的。只是一个控制台输出,如果可能的话还有一个日志文件。

我尝试了通常的帕斯卡代码:

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

任何帮助表示赞赏,如果需要进一步澄清问题,请询问。

4

1 回答 1

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

(空的双引号是必需的,并且必须出现在可执行路径之前。)

于 2012-12-29T10:20:53.683 回答