我的问题是多层次的。我想编写一个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。
答案 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
手动安装