我正在使用Inno Setup安装程序来设置安装程序文件,该文件可以调用我刚刚通过其脚本安装的.exe,并在安装后立即启动它,并使用以下命令:
[Run]
Filename: "{cmd}"; Description: "{cm:LaunchProgram,3mtxmail}"; \
Flags: nowait postinstall skipifsilent runascurrentuser; \
Parameters: "/b /k "" ""{app}\my.exe"" -c ""{app}\default.conf"" "" "
当my.exe
运行时,它不需要任何接口,只应侦听特定端口上的任何流量,并将该流量信息写入日志文件。
但是,当我执行安装程序并启动程序时,它仍会显示一个新的控制台窗口,我认为/b
应该已经阻止了。我希望不会看到这个新的控制台窗口,实际上屏幕上看不到任何内容。
从https://technet.microsoft.com/en-us/library/bb491005.aspx开始,/b
应该是表示不为该命令打开新窗口的标志。
正确的语法是什么?
答案 0 :(得分:6)
看起来你不需要cmd.exe
。直接运行您的应用程序:
[Run]
Filename: "{app}\my.exe"; Parameters: "-c ""{app}\default.conf""" \
Description: "{cm:LaunchProgram,3mtxmail}"; \
Flags: nowait postinstall skipifsilent runascurrentuser;
虽然您的应用程序是控制台应用程序,但它将打开自己的控制台。为防止这种情况,请添加runhidden
flag。
您实际上可以使用runhidden
标志来隐藏cmd.exe
控制台窗口。但如果您不需要cmd.exe
,则不应使用它。