title: Start a windows service and launch cmd
body: <p>Do I need to enable Interactive desktp for it to work and what is the correct code to start an EXE or cmd window? I'm still unable to start the service even when I had enable it to interact with desktop.</p>
  
  <p>I would be using an chat engine so it is easier to manage as a windows service. </p>
  
  <p>What wrong with my code?</p>
  
  <pre><code>using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Text;
  using System.ServiceProcess;
  using System.Diagnostics;
  using System.ComponentModel;
  using System.Threading;
  
  namespace MyNewService
  {
      class Program : ServiceBase
      {
          static void Main(string[] args)
          {
          }
  
          public Program()
          {
              this.ServiceName = "Chatter";
          }
  
          protected override void OnStart(string[] args)
          {
              base.OnStart(args);
  
              //TODO: place your start code here
              ThreadStart starter = new ThreadStart(bw_DoWork);
              Thread t = new Thread(starter);
              t.Start();
  
          }
  
          private void bw_DoWork()
          {
              Process p = new Process();
              p.StartInfo = new ProcessStartInfo(@"C:\Windows\system32\cmd.exe");
              p.Start();
              p.WaitForExit();
              base.Stop();
          }
  
          protected override void OnStop()
          {
              base.OnStop();
  
              //TODO: clean up any variables and stop any threads
          }
      }
  }
  </code></pre>