Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 如何在Inno安装程序中运行CMD命令而不打开新窗口_Windows_Cmd_Inno Setup_Windows Console - Fatal编程技术网

Windows 如何在Inno安装程序中运行CMD命令而不打开新窗口

Windows 如何在Inno安装程序中运行CMD命令而不打开新窗口,windows,cmd,inno-setup,windows-console,Windows,Cmd,Inno Setup,Windows Console,我正在使用Inno Setup installer设置一个安装程序文件,该文件可以通过脚本调用我刚刚安装的.exe,并在安装后立即启动,使用以下命令: [Run] Filename: "{cmd}"; Description: "{cm:LaunchProgram,3mtxmail}"; \ Flags: nowait postinstall skipifsilent runascurrentuser; \ Parameters: "/b /k "" ""{app}\my.exe

我正在使用Inno Setup installer设置一个安装程序文件,该文件可以通过脚本调用我刚刚安装的.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
应该阻止它。我希望看不到这个新的控制台窗口,实际上在屏幕上看不到任何东西

从中,
/b
应该是指示不为命令打开新窗口的标志


正确的语法是什么?

看起来您不需要使用
cmd.exe
进行任何操作。而是直接运行应用程序:

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

但是,如果您的应用程序是控制台应用程序,它将打开自己的控制台。要防止这种情况,请添加


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

它看起来并不需要
cmd.exe
。而是直接运行应用程序:

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

但是,如果您的应用程序是控制台应用程序,它将打开自己的控制台。要防止这种情况,请添加


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

它是控制台还是GUI应用程序?@MartinPrikryl它是控制台。请在每篇文章中只回答一个问题。当然欢迎您提出新问题,但请单独发布。它是控制台还是GUI应用程序?@MartinPrikryl它是控制台。请每个帖子只发布一个问题。当然欢迎您提出新问题,但请单独发布。谢谢Martin!我刚刚更新了这个问题,加入了一个后续问题,一旦你也在第二个问题上帮助我,我一定会接受你的回答并投票!非常感谢。这是一个完全不同的问题。Inno安装程序不会执行图标。图标仅由Inno安装程序创建,但由Windows资源管理器执行。分开问。我从你回答的另一个问题中找到了解决办法。非常感谢。谢谢你,马丁!我刚刚更新了这个问题,加入了一个后续问题,一旦你也在第二个问题上帮助我,我一定会接受你的回答并投票!非常感谢。这是一个完全不同的问题。Inno安装程序不会执行图标。图标仅由Inno安装程序创建,但由Windows资源管理器执行。分开问。我从你回答的另一个问题中找到了解决办法。非常感谢。