Нужно проверить, что приложение уже установлено или не использует пользовательский класс установщика

Я должен создать одно приложение проекта установки C#, в то время при установке я также включаю настраиваемые действия - установить на сервер filezilla. Перед установкой сервера filezilla необходимо проверить, установлен ли он уже или нет, если "да" означает установку приложения в одиночку, в противном случае установите приложение и сервер filezilla. есть ли класс установщика для выполнения этого события. жду предложения

1 ответ

Решение

Вы можете попробовать использовать пространство имен Microsoft.Win32 для классов реестра:

    string regKey = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall";
    using (Microsoft.Win32.RegistryKey key = Registry.LocalMachine.OpenSubKey(regKey))
    {
        if (key.GetSubKeyNames().Any(keyName => key.OpenSubKey(keyName).GetValue("DisplayName") == "My App's Display Name"))
            Console.WriteLine("Already installed...");
        else
            Console.WriteLine("Start installing...");
    }
Другие вопросы по тегам