Как добавить свою программу в установка и удаление программ? На C#

Всем привет! Думаю многих из вас интересовало как же происходит установка чужих программ, как они помещают свои программы в параметры Windows для установки и удаления программ? Напишем собственный установщик программы и Uninstall. Скажу сразу, да есть обертки которые все это позволяют автоматизировать, так же имеется встроенный инсталлятор в самой VS. Однако, когда вам не обходимо вызвать некие методы для проверки или докачки файлов, копирования, или не стандартное поведения вашего ПО. Вам придется писать свой инсталлятор.

Суть проблемы и ее решения.

Сейчас рассмотрим то как можно добавить в Установка и удаление программ, добавить собственную программу и удалить через нее. В примере будет использоваться символичное название нашей программы MyProg.exe

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

Код программы установки я упрощу, так как она может быть иной у вас, в том числе дизайн. Суть ее сводится к тому что вы помещаете байт код вашей программы, в программу установки, альтернативным вариантом может быть еще и скачивание вашей программы с сервера. Как считать вашу программу или скачивать файлы вы можете посмотреть в интернете, иначе статья будет очень большой.

По этому я упрощу этот процесс, и помещу уже самостоятельно нашу программу в папку, у вас же это должен сделать установщик.

Предварительные установки.

Создадим папку на диске C:\My_prog в которую поместим два файла, нашу программу MyProg.exe и программу которая будет удалять все файлы и запись из реестра, назовем ее UninstallMyProg об удалении и коде внутри программы мы поговорим позже. Так же в эту папку мы можем добавить иконку нашей софтины, но я покажу как можно выдернуть ее из нашей программы.

Install

Теперь я покажу часть реализации программы установщика который будет отвечать только за записи в реестр, тем самым добавлять вашу программу в Установка и удаление программ.

 

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

Вот так у меня выглядит MyProg в Установке и удалении программы.

Uninstall

Теперь рассмотрим реализацию UninstallMyProg которая будет запускаться из Установки и удаления программ.

 

Пишем скрипт для удаления файла Unistall

Таким образом у нас произойдет удаление всех записей о нашей программе в реестре, так же вам надо будет реализовать удаление файла программы. Еще одной проблемой остается удаление собственной папки и файла программы UninstallMyProg. Думаю многие встречали что иногда после удаления программ они не все файлы удаляют и часть из них остаются. Дело в том что когда программа UninstallMyProg запущена она не может удалить сама себя. Но мы используем скрипт который нам в этом поможет. Напишем метод и добавим его вызов в нашу программу UninstallMyProg в ту сточку кода где будет происходить удаление файлов программ.

Сам код можно не менять, суть его сводится к тому что создается временный скрипт, который запуститься после завершения и закрытия программы UninstallMyProg. В параметры скрипта будет передано имя нашей программы UninstallMyProg  после закрытия он ее удалит. Вам лишь останется добавить удаления вашей папки в этот скрипт. 

На этом все! Таким образом мы смогли написать свой собственный install установщик программы и uninstall и деинсталлятор программы, внести изменения в реестр, добавить нашу программу в Установка и удаления программ.

Обновлено: 21.02.2021 — 09:30

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.