Я нашел решение получить отсюда список установленных программ. Получить установленные приложения в системе
но не все установленные программы, в списке отсутствуют некоторые программы. Как получить весь список программ без пропуска
вот мой код ..
try
{
object line;
string softwareinstallpath = string.Empty;
string registry_key = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall";
using (var baseKey =RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64))
{
using (var key = baseKey.OpenSubKey(registry_key))
{
foreach (string subkey_name in key.GetSubKeyNames())
{
using (var subKey = key.OpenSubKey(subkey_name))
{
line = subKey.GetValue("DisplayName");
if (line != null)
{
listBox1.Items.Add(line);
if (line != null && (line.ToString().ToUpper().Contains("SKYPE")))
{
MessageBox.Show("SKYPE");
}
if (line != null && (line.ToString().ToUpper().Contains("QBFC")))
{
softwareinstallpath = subKey.GetValue("InstallLocation").ToString();
listBox1.Items.Add(subKey.GetValue("InstallLocation"));
break;
}
}
}
}
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message + Environment.NewLine + ex.StackTrace);
}
Есть МНОГО мест, которые вам нужно проверить: реестр x86, реестр x64, класс Win32_Product WMI, папка предварительной выборки, папка Program Files. Можете ли вы сказать нам, что именно вы пытаетесь сделать?
Вы можете проверить @"SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall" на наличие 32-битных приложений, установленных на 64-битной Windows.
Спасибо за ваш ответ. Я проверил в моем окне «Программы и функции» на панели управления. Не получить весь список программ, установленных на моем компьютере, например. "Skype" отображается на моей панели управления, но не в списке
на самом деле мне нужно интегрировать наш продукт в Intuit. Поэтому после успешного входа в мой продукт я должен проверить, что QBFS13Installer уже установлен или нет. Если не установлен, то придется начать процесс установки.
Есть приложения, такие как OneDrive, которые находятся не в HKLM\SOFTWARE\...\Uninstall, а в HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall.
Проблема решена. заменив @ "SOFTWARE \ WOW6432Node \ Microsoft \ Windows \ CurrentVersion \ Unin stall" вместо @ "SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall" спасибо, хорошего дня! ..





Можете ли вы увидеть приложения, которые вам не хватает, в «Программы и компоненты» или «Установка и удаление программ»?