启动并调试执行SoapUI testrunner.bat批处理文件的服务

时间:2012-01-31 14:53:34

标签: c# windows-services batch-file soapui

我的问题是多层次的。我想编写一个Windows服务,用自定义参数执行SoapUI testrunner.bat批处理文件。

服务安装正常,但除非它是在发布模式下构建的,否则无法启动。如果我在调试模式下构建它,安装并尝试启动它,它就无法启动。

我无法调试,因为“附加到进程”按钮显示为灰色。

现在,最大的问题是,当服务启动时,它似乎根本没有做任何事情。没有生成日志文件。

这是我的代码:

System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo.FileName = "D:\\testrunner.bat";
proc.StartInfo.Arguments = "-sServiceTest1 -cLoadBalancingTest -r -fd:\\temp -R\"TestCase Report\" -FPDF D:\\TestProj.xml";
proc.StartInfo.UseShellExecute = true;

proc.Start();

我做错了什么?

P.S。我正在运行Windows 7。

1 个答案:

答案 0 :(得分:1)

要回答我自己的问题,其中一个原因就是因为我错误配置了服务安装程序。

using (System.Diagnostics.Process proc = new System.Diagnostics.Process())
{
    proc.StartInfo.FileName = "testrunner.bat";
    proc.StartInfo.Arguments = "blah blah blah";
    proc.StartInfo.RedirectStandardError = true;
    proc.StartInfo.RedirectStandardOutput = true;
    proc.StartInfo.UseShellExecute = false;
    proc.Start();
    outputMessage = proc.StandardOutput.ReadToEnd();

    logFile = File.AppendText("D:\\temp\\SoapUITest.log");
    logFile.AutoFlush = true;
    logFile.Write(outputMessage);
    logFile.Close();
}

上面的代码运行正常但我使用 installutil

手动安装