我想以编程方式卸载一些应用程序。我正在win注册表中搜索此路径:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionUninstall
搜索和卸载的代码如下:
public string UninstallCMD;
public bool SearchApp(string p_name)
{
string displayName;
RegistryKey key;
key = Registry.LocalMachine.OpenSubKey(@"SOFTWAREMicrosoftWindowsCurrentVersionUninstall");
foreach (String keyName in key.GetSubKeyNames())
{
RegistryKey subkey = key.OpenSubKey(keyName);
displayName = subkey.GetValue("DisplayName") as string;
if (p_name.Equals(displayName, StringComparison.OrdinalIgnoreCase) == true)
{
UninstallCMD = subkey.GetValue("UninstallString") as string;
return true;
}
}
}
我的问题是并不是所有的钥匙都读过了。我想要读取的密钥是{56DDDFB8-7F79-4480-89D5-25E1F52AB28F},但与中的另一个密钥一样被忽略(在该图中,您可以看到密钥被忽略(
没有{}的密钥被正常读取(即7-zip、VLC媒体播放器…(
我不知道为什么,但在重新编译解决方案后,一切都很好。