Я хотел бы добавить кнопку «Удалить» в мою программу, которая запустит удаление, чтобы удалить программу, а затем немедленно выйти. Каков наилучший способ: a) определить, присутствует ли данный деинсталлятор, и b) найти правильный деинсталлятор и запустить его?Запуск деинсталлятора из кода
Могу ли я использовать реестр в надежном режиме? Я помню, как ранее использовал реестр для исправления некоторых сломанных установок и думал, что могу перебирать записи и идентифицировать их, но я беспокоюсь, что использование реестра может быть ненадежным и/или работать на всех системах?
Еще одна мысль состоит в том, что я мог бы фактически хранить информацию об удалении в реестре во время самой установки, а затем использовать эту информацию, чтобы как-то найти нужный деинсталлятор. Похоже, что это был бы самый надежный метод, но есть ли такой идентификатор, который я мог бы сохранить, чтобы затем передать обратно в Windows Installer?
Установлена ли ваша программа через MSI, созданный с помощью проекта установки Visual Studio? –
Вы не знаете, имеет ли ваша * собственная программа * деинсталлятор? Необычный. –
@ Ханы: Позвольте мне уточнить: программа устанавливается как опция, но также доступна как переносимый .exe в zip-файле. Поэтому нет никакой гарантии, что он обязательно будет установлен *. Что касается MSI, я использую WiX для его создания. – devios1