Мы создаем вспомогательное приложение UWP для устройств с Windows 10 и Windows Mobile. В Windows 10 мы хотим предложить пользователю какое-то обеспечение безопасности, например. убедиться, что его антивирус обновлен и так далее. Это должно быть сделано через Powershell с правами администратора.
Вопрос. Как лучше всего подойти с точки зрения архитектуры и взаимодействия с пользователем?
Идея 1. Архитектура. Приложение UWP взаимодействует со службой (которая написана как .NET Core web.api и предлагает простой интерфейс REST) и использует эту службу через http-клиент.
Служба работает как локальная система. Мы хотим разместить его в веб-службе Kestrel, так как это поддерживается при нацеливании на .net 4.6. До сих пор прототип работал, но все работает в режиме отладки, и не уверен, что возникнут проблемы с изоляцией приложений UWP.
С моей точки зрения, приложение UWP использует службу через обычные HTTP-запросы, которые ни в коем случае нельзя изолировать или перехватывать, верно? Нет никакой разницы в использовании локального веб-интерфейса webapi по сравнению с облачным API-интерфейсом с точки зрения изоляции UWP, верно?
Идея 2. Взаимодействие с пользователем. Пользователь загружает приложение из общедоступного магазина. Приложение проверяет, работает ли оно в Windows 10, и если да, то оно проверяет, установлена ли уже вспомогательная служба Windows (через вызов API в веб-службе). Если нет, он предлагает пользователю возможность загрузить услугу с веб-страницы и установить ее (оценочная подсказка).
Как лучше всего это сделать? Просто дать ссылку для скачивания пользователю? Или я могу запустить процесс из приложения UWP, которое предлагает установить MSI? Он должен быть максимально простым.