-1
我已經嘗試過這種方法來獲取附加的列表/刪除程序和它仍然沒有給出確切的名單獲取添加刪除程序列表嚴格按照顯示在Windows的C#框架3.5(不4.0)
在查找範圍在3個地方
註冊表installedSoftware.AddRange(GetInstalledSoftware(@"SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall"));
installedSoftware.AddRange(GetInstalledSoftware(@"HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"));
installedSoftware.AddRange(GetInstalledSoftware(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"));
代碼:
private List<string> GetInstalledSoftware(string regKey)
{
var installedSoftware = new List<string>();
using (RegistryKey key = Registry.LocalMachine.OpenSubKey(regKey))
{
if (key != null)
{
foreach (string subkey_name in key.GetSubKeyNames())
{
using (RegistryKey subkey = key.OpenSubKey(subkey_name))
{
object displayName = subkey.GetValue(ToolResources.DisplayName);
if (displayName != null)
{
installedSoftware.Add(displayName.ToString());
}
}
}
}
}
return installedSoftware;
}
這是一個4.0解決方案,但將不會在3.5
工作C#: How to get installing programs exactly like in control panel programs and features?
我錯過了什麼?