如何在 Inno Setup 中 运行 一个 CMD 命令而不打开一个新的 window
How to run a CMD command without openning a new window in Inno Setup
我正在使用 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
运行时,它不需要任何接口,应该只监听特定端口上的任何流量,并将该流量信息写入日志文件。
然而,当我执行安装程序并启动程序时,它仍然会弹出一个新的控制台 window,我认为 /b
应该阻止它。我希望看不到这个新控制台 window,实际上在屏幕上什么也看不到。
从https://technet.microsoft.com/en-us/library/bb491005.aspx开始,/b
应该是表示不为命令打开新windows的标志。
正确的语法是什么?
看起来您不需要 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
控制台 window。但是,如果您不需要 cmd.exe
,则不应使用它。
我正在使用 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
运行时,它不需要任何接口,应该只监听特定端口上的任何流量,并将该流量信息写入日志文件。
然而,当我执行安装程序并启动程序时,它仍然会弹出一个新的控制台 window,我认为 /b
应该阻止它。我希望看不到这个新控制台 window,实际上在屏幕上什么也看不到。
从https://technet.microsoft.com/en-us/library/bb491005.aspx开始,/b
应该是表示不为命令打开新windows的标志。
正确的语法是什么?
看起来您不需要 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
控制台 window。但是,如果您不需要 cmd.exe
,则不应使用它。