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

我正在使用Inno安装程序安装程序来设置一个安装程序文件,它可以调用刚刚通过脚本安装的.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运行时,它不需要任何接口,只应监听特定端口上的任何stream量,并将该stream量信息写入日志文件。

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

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

什么是正确的语法?

Solutions Collecting From Web of "如何在没有在Inno Setup中打开新窗口的情况下运行CMD命令"

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

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

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

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