从C#启动安装程序

时间:2016-10-14 23:53:09

标签: c# batch-file

我有一个winform应用程序,我正在运行一个单独的bat文件。 一旦该bat文件启动,它就会调用mysql桌面服务器引擎的setup.exe。 setup.exe打开并开始运行,但仅持续1秒钟,然后退出而没有任何警告或错误。 bat文件继续处理脚本的其余部分。

为什么会这样?如果我单独运行bat文件(而不是c#),它会等待安装完成,然后继续运行脚本。

感谢您的帮助

添加代码:

            System.Diagnostics.Process proc = new System.Diagnostics.Process();

            if (File.Exists(@"C:\Program Files\Database setup\install.bat"))
            {
                MessageBox.Show("Please restart the machine after installation is finished.");
                proc.StartInfo.FileName = @"C:\Program Files\Database setup\install.bat";
                proc.Start();   

                //PROBLEM WITH INSTALLATION of SQLSERVER (INSTALL QUITS)
            }

1 个答案:

答案 0 :(得分:0)

在运行setup.exe进程后立即在批处理脚本中,添加echo %ERRORLEVEL%以打印出返回代码。如果你得到的不是1或0,你可以谷歌。

要寻找的另一件事是它是否在两次执行中都具有相同的环境设置。 在批处理文件中,在启动setup.exe之前运行set 。这将打印出所有环境设置。比较手动运行它与C#进程运行的值,看看是否有任何差异。