i am using this to get the program names, but i need the exe names. How do i find them?
string SoftwareKey = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\S-1-5-18\\Products";
RegistryKey rk = default(RegistryKey);
rk = Registry.LocalMachine.OpenSubKey(SoftwareKey);
//string skname = null;
string sname = string.Empty;
foreach (string skname in rk.GetSubKeyNames())
{
try
{
sname = Registry.LocalMachine.OpenSubKey(SoftwareKey).OpenSubKey(skname).OpenSubKey("InstallProperties").GetValue("DisplayName").ToString();
listBox1.Items.Add(sname);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
I am trying to do this:
System.Diagnostics.Process.Start("Name.exe");
to run the program.
The installer doesn’t, and really couldn’t, know about the actuall executables. It only knows about the installation package – the .MSI file.
In order to get the names of the executables (yes, many “programs” are composed of numerous .EXE files) you would need to interrogate the .MSI file.