예제 #1
0
 private static bool InstallUsePnPUtil(string fileName)
 {
     try
     {
         var startInfo = new ProcessStartInfo("pnputil", $"-i -a {fileName}")
         {
             Verb                   = "runas",
             CreateNoWindow         = true,
             UseShellExecute        = false,
             RedirectStandardOutput = true,
             RedirectStandardError  = true,
         };
         var outputBuilder = new AdvanceOutputBuilder();
         using (var proc = Process.Start(startInfo))
         {
             proc.OutputDataReceived += (s, e) => { outputBuilder.AppendOut(e.Data); };
             proc.ErrorDataReceived  += (s, e) => { outputBuilder.AppendError(e.Data); };
             proc.Start();
             proc.BeginOutputReadLine();
             proc.BeginErrorReadLine();
             proc.WaitForExit();
             outputBuilder.Result.PrintOnLog(ctx);
             return(proc.ExitCode == 0);
         }
     }
     catch (Exception ex)
     {
         OpenApi.Log.Warn(ctx, "failed", ex);
         return(false);
     }
 }
예제 #2
0
        unsafe static int Main(string[] cmdargs)
        {
            var builder  = new AdvanceOutputBuilder();
            var builder2 = new AdvanceOutputBuilder();

            builder.ExitCode  = 0;
            builder2.ExitCode = 0;
            builder.AppendOut("xx");
            builder2.AppendOut("xx");
            Console.WriteLine(builder.Result.GetHashCode() == builder2.Result.GetHashCode());
            Console.ReadKey();
            return(0);
        }