Inno setup 如何从bash运行非GUI版本的innoscriptstudio?

Inno setup 如何从bash运行非GUI版本的innoscriptstudio?,inno-setup,git-bash,Inno Setup,Git Bash,我在Inno Script Studio中创建了一个.iss文件。它有一个预编译步骤,这是Inno Script Studio特有的功能。我可以从命令提示符窗口(运行cmd.exe,对吗?)运行.iss文件。命令看起来像 "\Program Files (x86)\Inno Script Studio\isstudio.exe" -compile myscript.iss 如果相反,我从Git bash窗口运行/c/system/windows32/cmd,然后尝试相同的命令,我会得到一个带有

我在Inno Script Studio中创建了一个.iss文件。它有一个预编译步骤,这是Inno Script Studio特有的功能。我可以从命令提示符窗口(运行cmd.exe,对吗?)运行.iss文件。命令看起来像

"\Program Files (x86)\Inno Script Studio\isstudio.exe" -compile myscript.iss
如果相反,我从Git bash窗口运行/c/system/windows32/cmd,然后尝试相同的命令,我会得到一个带有“I/O错误6”的错误弹出窗口。为什么?通过实验,问题似乎出在myscript.iss参数上:如果我不使用该参数,isstudio只会抱怨缺少该参数

我尝试过对命令进行各种转义和引用更改,但没有任何解决方法。我尝试使用env-I在一个全新的环境中运行cmd。我尝试过使用DOS样式的路径提供文件的完整路径,该路径带有C:和反斜杠


我尝试用上面的命令创建一个.bat文件:同样的错误。

您的命令可能是正确的。问题与Inno Script Studio如何输出到控制台有关。我尝试从GitBash运行它,并得到了(Delphi的异常)I/O错误105,当您尝试在没有连接控制台的情况下写入标准输出时会出现该错误。Inno Script Studio是一个GUI应用程序,因此必须手动连接到控制台。这在Git Bash控制台中由于某种原因而失败。因此,如果没有cmd提示符,恐怕您将无法运行它。这只是GUI和console Delphi应用程序混合使用的结果。但您可以尝试输入cmd命令提示符(
cmd/C
),执行Inno Script Studio命令并退出cmd命令提示符(但如果这有帮助,我不知道)。谢谢。这是有道理的。我认为您关于“输入命令提示符”的建议正是我从Git Bash运行/c/system/windows32/cmd时所做的(我确实使用了/c选项)。所以这没用。我想从“开始”菜单运行命令提示符和从命令行运行cmd之间肯定有本质上的区别。正如您所建议的,似乎cmd必须检测运行它的图形环境并“附加”到它。也许你应该回答这个问题,回答说这根本不可能,反之亦然。应用程序连接到控制台。而InnoScriptStudio工具在GitBash控制台中无法做到这一点。我曾尝试制作一个纯Delphi控制台应用程序,但没有问题,所以它一定是手册中的某个东西,附加到这个混合GUI和控制台Inno Script Studio工具的控制台上。是的,这是国际空间站的错误,因此目前不可能。