如何在Inno Setup中打开新窗口的情况下运行CMD命令

jam*_*123 1 windows cmd inno-setup windows-console

我正在使用Inno安装程序安装程序来设置安装程序文件,该文件可以调用我刚刚通过其脚本安装的.exe,并在安装后立即使用以下命令启动它:

[Run]
Filename: "{cmd}"; Description: "{cm:LaunchProgram,3mtxmail}"; \
    Flags: nowait postinstall skipifsilent runascurrentuser; \
    Parameters: "/b /k "" ""{app}\my.exe"" -c ""{app}\default.conf"" "" "
Run Code Online (Sandbox Code Playgroud)

my.exe运行时,它不需要任何接口,只应侦听特定端口上的任何流量,并将该流量信息写入日志文件.

但是,当我执行安装程序并启动程序时,它仍会显示一个新的控制台窗口,我认为/b应该阻止它.我希望不要看到这个新的控制台窗口,实际上屏幕上看不到任何内容.

https://technet.microsoft.com/en-us/library/bb491005.aspx,/b应该是指示不打开命令的新窗口的标志.

什么是正确的语法?

Mar*_*ryl 6

看起来你不需要cmd.exe任何东西.直接运行您的应用程序:

[Run]
Filename: "{app}\my.exe"; Parameters: "-c ""{app}\default.conf""" \
    Description: "{cm:LaunchProgram,3mtxmail}"; \
    Flags: nowait postinstall skipifsilent runascurrentuser; 
Run Code Online (Sandbox Code Playgroud)

虽然如果您的应用程序是控制台应用程序,它将打开自己的控制台.为防止这种情况,请添加runhidden标记.

您实际上可以使用该runhidden标志来隐藏cmd.exe控制台窗口.但如果您不需要,则cmd.exe不应使用它.