У меня есть проект установщика Windows, прикрепленный к моему решению, который позволяет пользователю дополнительно установить два компонента приложения (они являются службами Windows) с помощью диалогового окна «Флажки», которое я добавил в пользовательский интерфейс, и тогда Условия на Пользовательские Действия ...
т.е. в Custom Actions / Install у меня есть
Первичный вывод из ProjectA (Active)
- Условие = PROJECTACHOSEN
(то есть значение Checkbox1Property)
Первичный вывод из ProjectB (Active)
- Условие = PROJECTBCHOSEN
(т.е. значение Checkbox2Property)
В Custom Actions / Uninstall я добавил те же два «Первичных выхода».
Проблема в том, что если во время установки пользователь выбрал только один из двух проектов, то деинсталлятор все еще пытается удалить обе службы и, конечно, выдает ошибку, когда не находит отсутствующую, вызывая деинсталляцию для потерпеть неудачу.
Какое условие можно добавить в Uninstall, чтобы установить службу, только если она установлена в данный момент?
Я пробовал:
- добавление тех же условий, что и при установке - это вообще не удаляет службы (вероятно, потому что вы не ставите галочки во время удаления)
- Condition = "Installed", с которым я сталкивался в других местах в Интернете. Похоже, что это игнорируется, и деинсталлятор все еще пытается удалить обе службы.