#c#
#c#
Вопрос:
требование таково: «Я хочу программу на c #, которая только проверяет, установлена указанная программа или нет на компьютере» и показывает сообщение о том, установлена программа или нет.
На самом деле, у меня есть проектная программа на c #, я хочу, чтобы после загрузки моей проектной первой формы приложение сначала проверяло, установлен ли VSS на моем компьютере, потому что VSS требуется для моего проекта.
Моя операционная система — Windows 7.
Спасибо, Хусейн
Комментарии:
1. Это зависит от приложения. У вас есть контроль над ним или нет? Какова процедура установки для этого приложения? Что это за ОС?
Ответ №1:
В большинстве случаев вы можете проверить все установленные программы через запись в реестре. Однако, пожалуйста, обратите внимание, что это зависит от того, все ли установщик сделал правильно при установке программы или нет.
Следующий код должен работать:
static void GetInstalled()
{
string uninstallKey = @"SOFTWAREMicrosoftWindowsCurrentVersionUninstall";
using (RegistryKey rk = Registry.LocalMachine.OpenSubKey(uninstallKey))
{
foreach (string skName in rk.GetSubKeyNames())
{
using (RegistryKey sk = rk.OpenSubKey(skName))
{
Console.WriteLine(sk.GetValue("DisplayName"));
}
}
}
}
Комментарии:
1. Спасибо, это удовлетворяет мои потребности.
Ответ №2:
Мартиньо Фернандес задал справедливый вопрос об операционной системе.
Если вы используете Windows, чаще всего вы можете получить эти данные из реестра — приложения при установке создают различные разделы реестра. В этом случае определенный ключ или ключи либо присутствуют, либо нет.
Комментарии:
1. какую ссылку необходимо добавить, потому что c # выдает ошибку при перестроении этого исходного кода.
2. @SCM: Предполагая, что вы хотели прокомментировать другой ответ (т. Е. тот, который содержит код). Вы можете просмотреть это в MSDN: msdn.microsoft.com/en-us/library/… В нем указаны ссылки на сборку и инструкции using, которые вам нужны.