Проект развертывания .NET: пользовательское действие, отменяющее удаление - PullRequest
1 голос
/ 18 сентября 2009

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

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

Ответы [ 2 ]

1 голос
/ 27 октября 2009

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

В моменте пользовательского действия, в котором я хочу отменить удаление, я просто выбрасываю 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.");
0 голосов
/ 18 сентября 2009

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

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

...