wcf使用程序调用批处理安装
/// <summary>/// 安装服务
/// </summary>
/// <param name="strName">服务名称</param>
public static void BatCommand(string strName)
{
//如下批处理命令
string MyDosComLine1 = "cd C:\\Documents and Settings\\Administrator\\桌面\\Service\\Service\\InService\\bin\\Debug";//返回根目录命令
string MyDosComLine2 = "installutil.exe " + strName + ".exe";
Process myProcess = new Process();
myProcess.StartInfo.FileName = "cmd.exe ";//打开DOS控制平台
myProcess.StartInfo.UseShellExecute = false;
myProcess.StartInfo.CreateNoWindow = true;//是否显示DOS窗口,true代表隐藏;
myProcess.StartInfo.RedirectStandardInput = true;
myProcess.StartInfo.RedirectStandardOutput = true;
myProcess.StartInfo.RedirectStandardError = true;
myProcess.Start();
StreamWriter sIn = myProcess.StandardInput;//标准输入流
sIn.AutoFlush = true;
StreamReader sOut = myProcess.StandardOutput;//标准输入流
StreamReader sErr = myProcess.StandardError;//标准错误流
sIn.Write(MyDosComLine1);//执行DOS命令
sIn.Write(MyDosComLine2);//执行DOS命令
sIn.Write("exit");
//string s = sOut.ReadToEnd();//读取执行DOS命令后输出信息
//string er = sErr.ReadToEnd();//读取执行DOS命令后错误信息
if (myProcess.HasExited == false)
{
myProcess.Kill();
//Console.WriteLine(er);
}
else
{
//Console.WriteLine(s);
}
sIn.Close();
sOut.Close();
sErr.Close();
myProcess.Close();
} --------------------编程问答-------------------- 麻烦大家看看? --------------------编程问答-------------------- 你要用一个c#程序,安装另一个 用于寄宿WCF服务的 Windows 服务程序? --------------------编程问答-------------------- 是的。我想尝试使用程序安装wcf服务,并且是调用dos密令来实现。 --------------------编程问答-------------------- 代码不知道对错,但命令行是这样
[code=命令行提示符]
cmd /c installutil.exe xxx.exe
[/code]
上边的是执行完后退出cmd。不退出cmd的话,是把 /c 换成 /k
--------------------编程问答-------------------- 但是,cmd内必须要有 能够找到 installutil.exe 这个文件的 环境变量。
或者直接换成 installutil.exe 的绝对路径
补充:.NET技术 , Web Services