john1990_1 Ответов: 1

Как запустить код перед удалением приложения c# windows forms?


Мне нужно удалить программу из запуска Windows при удалении.

Что я уже пробовал:

Установщик.Событие AfterUninstall

но я не могу использовать его хорошо

[no name]

Ладно... и? У вас есть реальный вопрос, с которым, как вы думаете, мы можем вам помочь?

john1990_1

Мне нужен способ в c# запускать код, когда пользователь удаляет приложение. (чтобы удалить его из запуска, не оставив никаких следов в меню запуска)

Wessel Beulink

Чем создавать msi...

Wessel Beulink

Или удалите файлы, которые вы хотите удалить

john1990_1

как создать msi?

[no name]

Окей.... Это функция вашего установщика, а не вашей программы.

john1990_1

значит, нет никакого события, когда пользователь удаляет приложение? я видел монтажника.AfterUninstall Event, проверьте это, пожалуйста.

[no name]

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

john1990_1

каким это образом?

[no name]

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

john1990_1

Я публикую свою программу на C# с помощью Visual Studio, есть ли событие для удаления? что вы имеете в виду под установкой программного обеспечения для создания, как использовать их с C#?

[no name]

Может быть, кто-то еще сможет вам помочь. Я не могу научить тебя задавать вопросы, и вытягивать из тебя эти лакомые кусочки информации очень неприятно.

john1990_1

когда пользователь переходит в раздел программы и функции в Windows, щелкает Правой Кнопкой Мыши мою программу и нажимает кнопку Удалить, а затем ОК, я хочу запустить код, который удаляет программу из запуска (я знаю, как удалить ее из запуска, я просто хочу иметь возможность запустить код, когда пользователь удалит программу, и никаких следов для программы не останется при запуске в диспетчере задач)

Suvendu Shekhar Giri

если я правильно вас понял, вы хотите, чтобы часть логики была выполнена непосредственно перед выполнением действия удаления, не так ли?

если бы вы могли привести пример, нам было бы легче правильно понять вашу проблему.

john1990_1

когда пользователь переходит в раздел программы и функции в Windows, щелкает Правой Кнопкой Мыши мою программу и нажимает кнопку Удалить, а затем ОК, я хочу запустить код, который удаляет программу из запуска (я знаю, как удалить ее из запуска, я просто хочу иметь возможность запустить код, когда пользователь удалит программу, и никаких следов для программы не останется при запуске в диспетчере задач)

Suvendu Shekhar Giri

c# - предотвращение удаления в проекте установки с помощью OnBeforeUninstall - переполнение стека[^]

проверить это.. вы переопределяете событие OnBeforeUninstall и записываете туда свою логику. если ваше требование именно так. в противном случае, дайте мне знать, whatelse вы хотите.

1 Ответов

Рейтинг:
0

RickZeeland

Microsoft ClickOnce технология может сделать это автоматически для вас, см. Эти статьи:
ClickOnce-быстрые шаги по развертыванию, установке и обновлению клиентских приложений на базе Windows[^]
и Все, Что Вам Нужно, Это Один-История Любви ClickOnce[^]

Единственное ограничение ClickOnce заключается в том, что ваше приложение устанавливается в безопасном отдельном пользовательском каталоге.
Но есть способы обойти это: http://matijabozicevic.com/blog/wpf-winforms-development/running-a-clickonce-application-as-administrator-also-for-windows-8[^]


Ответ выше-это не то, что вы просили, я думаю, что это ответит на ваш вопрос:
c# - отключить запуск программы в реестре; - переполнение стека[^]


RickZeeland

Ой, боюсь, я прочитал "меню Пуск Windows" вместо "запуск Windows", но эта информация все равно может вас заинтересовать ...

john1990_1

Я знаю, как добавить или удалить программу из запуска, то, что я хочу, это когда пользователь удаляет мою программу, при удалении я запускаю код, код удаляет программу из запуска так, как вы сказали, и не оставляет никаких следов для моей программы.

RickZeeland

Лично я использую Inno Setup, который позволяет создавать сценарии (Pascal) в разделе удаления.
Но альтернативой может быть белка: https://github.com/squirrel/squirrel.windows