Закрыть приложение при запуске программы удаления Windows - PullRequest
1 голос
/ 05 мая 2011

У меня есть приложение на C #. Все отлично работает, кроме этого:

Когда я удаляю приложение из программ добавления / удаления, если приложение не закрыто, оно остается открытым после удаления.

Для парней, которые не могут прочитать подразумеваемый вопрос ... «Как сделать так, чтобы приложение закрывалось? При удалении?».

Если вам нужны какие-либо подробности, просто спросите.

Ответы [ 3 ]

3 голосов
/ 05 мая 2011

В вашем проекте установщика (я предполагаю, что вы сгенерировали установщик MSI с использованием проекта установщика в Visual Studio), вы должны включить класс, который наследуется от базового класса установщика:

[RunInstaller(true)]
public class MyInstaller: Installer
{
    public override void Install(IDictionary stateSaver)
    {
        base.Install(stateSaver);
    }


    public override void Uninstall(IDictionary savedState)
    {
        base.Uninstall(savedState);

        //TODO: Code to kill the live instance(s)
    }

    // Other override methods here if necessary
}

Метод удаления этого класса будет выполнен, когда пользователь удалит ваше приложение.

В этом методе вы можете выбрать список запущенных процессов и уничтожить все живые экземпляры вашего приложения.

0 голосов
/ 05 мая 2011

Вот как это работает.

Удаление удаляет его с диска, а не из памяти.

Вам потребуется добавить пользовательский код в операцию удаления, чтобы закрыть приложение перед удалением

0 голосов
/ 05 мая 2011

Может быть, он открыт, потому что он находится в оперативной памяти.Просто закрой его.

...