我正在使用Inno Setup为使用PyInstaller创建的Django webapp安装程序。由于我的应用程序需要一个命令(命令行控制台应用程序)来运行服务器,我编写了一个批处理脚本来完成它。我的问题是我不想向最终用户显示控制台窗口,我想隐藏它。
Inno Setup .iss文件:
[Run]
Filename: "{app}\cookie_dot.bat"; Description: "Start server"; \
Flags: nowait postinstall runhidden skipifsilent
但它仍然显示一个控制台窗口。
有关详细信息,请参阅我的批处理文件:
set PATH=%PATH%;C:\cookie_dot\wkhtmltopdf.exe
START "" "http://localhost:88/"
START "" "C:\cookie_dot\cookie_dot.exe" runserver localhost:88
答案 0 :(得分:2)
runhidden
隐藏批处理文件的控制台窗口(cmd.exe
)。
但是你在另一个控制台窗口中启动了另一个控制台应用程序(cookie_dot.exe
)(由于start
命令)。
请注意,如果删除runhidden
标志,您将获得两个控制台窗口(尽管第一个窗口只是短暂显示,而批处理文件正在运行)。
当您使用start
标志时,您不需要对cookie_dot.exe
使用nowait
命令,因此Inno Setup不会介意(隐藏的)批处理文件保留只要cookie_dot.exe
运行,就会运行:
set PATH=%PATH%;C:\cookie_dot\wkhtmltopdf.exe
START "" "http://localhost:88/"
"C:\cookie_dot\cookie_dot.exe" runserver localhost:88
如果没有start
命令,cookie_dot.exe
将继承批处理文件(cmd.exe
)的隐藏控制台窗口。