Inno命令行编译不工作

Inno command line compilation not working

我正在尝试使用命令行编译 .iss 文件

            string INNOCLI = Application.StartupPath + @"\Inno\ISCC.exe";
            string Argument = string.Format("iscc /q \"{0}\"", INNOSCRIPTFILE);

            using (Process cli = new Process())
            {
                //cli.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
                cli.StartInfo.FileName = INNOCLI;
                cli.StartInfo.Arguments = Argument;
                cli.StartInfo.UseShellExecute = false;
                cli.StartInfo.RedirectStandardError = true;
                cli.StartInfo.RedirectStandardOutput = true;
                //cli.StartInfo.CreateNoWindow = true;
                cli.OutputDataReceived += cli_OutputDataReceived;
                cli.ErrorDataReceived += cli_ErrorDataReceived;
                cli.Start();
                cli.BeginErrorReadLine();
                cli.BeginOutputReadLine();
                cli.WaitForExit();
            }

但我什么也没得到,我正在使用 c#

编辑: 我禁用了输出重定向,现在我在控制台 window.

上看到它说 "Script file name specified more than once"

您说过从您执行的 ISCC 工具中获得的输出是:

Script file name specified more than once

来自 this exception 如果您传递超过 1 个字符且没有起始 /- 字符的多个参数,则会引发此问题。之所以会发生这种情况,是因为您错误地将 iscc 和文件名传递给了参数。从那里删除输入错误的 iscc 。更改此行:

string Argument = string.Format("iscc /q \"{0}\"", INNOSCRIPTFILE);

对此:

string Argument = string.Format("/q \"{0}\"", INNOSCRIPTFILE);