Добавить программу в панель управления / программы и компоненты на C#
Всем доброго времени суток. На связи Алексей Гулынин. В данной статье я бы хотел рассказать, как программу добавить в "панель управления / программы и компоненты" на C#. В данном примере совсем неважно какую программу будем добавлять. Условно добавлять будем простой калькулятор calc.exe, который находится в папке C:\Windows\System32. На диске C создадим папку Calc, в которую будем добавлять все необходимые файлы. Сюда добавим файлы calc.ico (это иконка программы, которая будет отображаться в панели управления) и calcdelete.exe, который мы напишем ниже, а также файл calc.exe.
Сразу приведу код добавления программы:
using System;
using Microsoft.Win32;
namespace CalcInstall
{
class Program
{
static void Main(string[] args)
{
string progName = "Калькулятор";
string progDir = @"C:\Calc";
string progIcon = @"C:\Calc\calc.ico";
string progDeleteString = @"C:\Calc\CalcDelete.exe";
AddProgramToControlPanel(progName, progDir, progIcon, progDeleteString);
Console.ReadLine();
}
public static void AddProgramToControlPanel(string progName, string progDir, string progIcon, string progDeleteString)
{
try
{
// Определяем ветку реестра, в которую будем вносить изменения
string registryLocation = @"Software\Microsoft\Windows\CurrentVersion\Uninstall";
// Открываем указанный подраздел в разделе реестра HKEY_LOCAL_MACHINE для записи
RegistryKey regKey = (Registry.LocalMachine).OpenSubKey(registryLocation, true);
// Создаём новый вложенный раздел с информацией по нашей программе
RegistryKey progKey = regKey.CreateSubKey(progName);
// Отображаемое имя
progKey.SetValue("DisplayName", progName, RegistryValueKind.String);
// Папка с файлами
progKey.SetValue("InstallLocation", progDir, RegistryValueKind.ExpandString);
// Иконка
progKey.SetValue("DisplayIcon", progIcon, RegistryValueKind.String);
// Строка удаления
progKey.SetValue("UninstallString", progDeleteString, RegistryValueKind.ExpandString);
// Отображаемая версия
progKey.SetValue("DisplayVersion", "6.1.7600", RegistryValueKind.String);
// Издатель
progKey.SetValue("Publisher", "Microsoft", RegistryValueKind.String);
Console.WriteLine("Программа была успешно добавлена в панель управления!");
}
catch (Exception ex)
{
Console.WriteLine("Во время добавления программы произошла ошибка! Ошибка: {0}", ex.Message);
}
}
}
}
Код удаления программы:
using System;
using Microsoft.Win32;
namespace CalcDelete
{
class Program
{
static void Main(string[] args)
{
DeleteProgramFromControlPanel("Калькулятор");
Console.ReadLine();
}
public static void DeleteProgramFromControlPanel(string progName)
{
string registryLocation = @"Software\Microsoft\Windows\CurrentVersion\Uninstall";
RegistryKey regKey = (Registry.LocalMachine).OpenSubKey(registryLocation, true);
RegistryKey progKey = regKey.OpenSubKey(progName);
// Если у нас такая ветка реестра есть
if (progKey != null)
{
// Удаляем данные о программе
regKey.DeleteSubKey(progName);
Console.WriteLine("Программа была успешно удалена из панели управления!");
// Здесь также можно реализовать удаление файла calc.exe из папки.
}
}
}
}
Как выглядит содержимое папки C:\Calc:

InstallCalc.exe — это файл (1-ый пример кода), который добавляет калькулятор в "панель управления / программы и компоненты".
Запускаем данный файл и проверяем, что наш условный калькулятор появился там где нужно:

Давайте теперь удалим программу, нажав "Удалить/Изменить". Нажатие данной клавиши приведёт к вызову утилиты CalcDelete.exe. Далее мы увидим, что калькулятор пропал из списка программ.
В данной статье вы научились добавлять программу в список программ панели управления.
На связи был Алексей Гулынин, оставляйте свои комментарии, увидимся в следующих статьях.




