title: How to uninstall Software using c# by calling Software UninstallString Listed in Registry file of that Software  But the Process Is Not Working
body: <p>I am developing a software that will list all the software install
  in Computer 
  now i want to Uninstall it using my Program In C# by 
  calling the Uninstall Key of that software in 
  Registry Key 
  My Program Is
  Like That  But the Process Is Not Working </p>
  
  <pre><code>var UninstallDir = "MsiExec.exe /I{F98C2FAC-6DFB-43AB-8B99-8F6907589021}";
  string _path = "";
  string _args = "";
  Process _Process = new Process();
  if (UninstallDir != null &amp;&amp; UninstallDir != "")
  {
      if (UninstallDir.StartsWith("rundll32.exe"))
      {
          _args = ConstructPath(UninstallDir);
          _Process.StartInfo.FileName = Environment.SystemDirectory.ToString() + "\\explorer.exe";
          _Process.StartInfo.Arguments = Environment.SystemDirectory.ToString() + "\\" + UninstallDir;
          _Process.Start();
      }
      else if (UninstallDir.StartsWith("MsiExec.exe"))
      {
          _args = ConstructPath(UninstallDir);
          _Process.StartInfo.FileName = Environment.SystemDirectory.ToString() + "\\cmd.exe";
          _Process.StartInfo.Arguments = Environment.SystemDirectory.ToString() + "\\" + UninstallDir;
          _Process.Start();
      }
      else
      {
          //string Path = ConstructPath(UninstallDir);
          _path = ConstructPath(UninstallDir);
          if (_path.Length &gt; 0)
          {
              _Process.StartInfo.FileName = _path;
              _Process.StartInfo.UseShellExecute = false;
              _Process.Start();
          }
      }
  </code></pre>