Я работаю над новой функцией для нашего продукта, компонент которого имеет довольно серьезные последствия для безопасности: он работает как служба WCF и выполняет некоторые действия с высоким уровнем привилегий. Таким образом, я бы хотел, чтобы этот компонент устанавливался только тогда, когда он требуется пользователю (и удалялся, когда он больше не нужен), и чтобы установка выполнялась программно.
Я просмотрел реклама (в частности, назначенные установки), и кажется, что это хороший механизм для достижения этой цели. Я не уверен, можно ли отменить установку объявленной функции, однако это было бы полезно для удаления компонента, когда он больше не нужен. Я также не совсем уверен, можно ли добиться программной установки с помощью рекламы: похоже, реклама классов COM не рекомендуется.
Поэтому мне интересно, будет ли более разумным простой вызов msiexec для установки/удаления компонента. Компонент может быть упакован в отдельный MSI или как отдельная функция нашего основного MSI.
Какие методы вы использовали для установки функций по запросу?