Hi,
First of all THANKS to Rajesh & Deepankar for the great information links which helped me a lot.
I done my code by getting registry value of installed software on current user by "Registry.CurrentUser" because i didn't get it by "Registry.LocalMachine".
private void Form1_Load(object sender, EventArgs e)
{
this.Visible=false;
this.Refresh();
string AppName = "Acts Analysis";
RegistryKey myRegKey = Registry.CurrentUser;
myRegKey = myRegKey.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall");
String[] subkeyNames = myRegKey.GetSubKeyNames();
if (subkeyNames.Length > 0)
{
foreach (String s in subkeyNames)
{
RegistryKey UninstallKey = Registry.CurrentUser;
UninstallKey = UninstallKey.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\" + s);
Object oValue = UninstallKey.GetValue("DisplayName");
if (oValue != null)
{
if (oValue.ToString() == AppName)
{
Process[] rundll32Processes = Process.GetProcessesByName("rundll32");
rundll32ProcessesCount = rundll32Processes.Length;
oValue = UninstallKey.GetValue("UninstallString");
oValue = oValue.ToString().Replace("rundll32.exe ", "").ToString();
Process p = new Process();
p.StartInfo.FileName = "rundll32.exe";
p.StartInfo.Arguments = oValue.ToString();
p.Start();
checkUI = false;
tmrFirstInput.Start();
break;
}
}
}
}
else
{
this.Close();
}
}