title: How to Uninstall the software programmatically in c#
body: <p>How to uninstall the software programmatically in c#.?</p>
  
  <p>Microsoft.Win32.RegistryKey Fregistry =  Microsoft.Win32.Registry.LocalMachine.OpenSubKey("SOFTWARE")          </p>
  
  <pre><code>            .OpenSubKey("Microsoft").OpenSubKey("Windows").OpenSubKey("CurrentVersion")
              .OpenSubKey("Installer").OpenSubKey("UserData")
              .OpenSubKey("S-1-5-18").OpenSubKey("Products");
              string[] Names = Fregistry.GetSubKeyNames();
              string uninstall = "";
              string ApplicationName = "Studio V5";
              for (int i = 0; i &lt; Names.Length; i++)
              {
                  Microsoft.Win32.RegistryKey FTemp = Fregistry.OpenSubKey(Names[i]).OpenSubKey("InstallProperties");
                  **if (FTemp.GetValue("DisplayName").ToString() == ApplicationName)**
                  {
                      object obj = FTemp.GetValue("UninstallString");
                      if (obj == null)
                          uninstall = "";
                      else
                          uninstall = obj.ToString();
                      i = Names.Length;
                  }
              }
  
              System.Console.WriteLine(uninstall);
              System.Diagnostics.Process FProcess = new System.Diagnostics.Process();
              string temp = "/x{" + uninstall.Split("/".ToCharArray())[1].Split("I{".ToCharArray())[2];
              //replacing with /x with /i would cause another popup of the application uninstall
              FProcess.StartInfo.FileName = uninstall.Split("/".ToCharArray())[0];
              FProcess.StartInfo.Arguments = temp;
              FProcess.StartInfo.UseShellExecute = false;
              FProcess.Start();
              System.Console.Read();
  </code></pre>
  
  <p>I got an error like....NULL REFERENCE EXCEPTION in the ** line.</p>