Проект развертывания .NET: пользовательское действие, отменяющее удаление

StackOverflow https://stackoverflow.com/questions/1443666

Вопрос

У меня есть проект развертывания .NET. Я хотел бы добавить пользовательское действие удаления, которое проверяет определенные условия и при необходимости отменяет удаление. Это возможно?

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

Это было полезно?

Решение

Ответ на самом деле довольно простой, но и довольно уродливый.

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

//Nono. Don't uninstall. To abort uninstall, throw an exception
throw new ApplicationException(Constants.CONST_APP_NAME + @" can't be uninstalled because the preparation hasn't been completed.");

Другие советы

Было бы удивительно, если бы это было возможно. По моему опыту, как только вы попытаетесь использовать проект установки VS для выполнения чего-либо, что нельзя перетащить в дизайнер, вы нападаете на неприятности.

Другими словами, это отстой, но я не знаю, зеленее ли трава на другой стороне (например, InstallShield), потому что я никогда не использовал это.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top