Есть ли другой способ распространения приложения?
Конечный пользователь может установить пакет, просто дважды щелкнув файл appx/appxbundle
. Этот опыт очень похож на установку MSI
/ EXE
. Это вызывает установщик приложения, встроенный в систему.
Он также может быть размещен на веб-сайте интрасети и установлен из Интернета (я пробовал этот подход ранее, но мне это не удалось, возможно, потому что устройство, которое я попробовал, не получило последнее обновление. )
Возможно ли автоматизировать процесс?
Установка appx на самом деле сводится к двум PowerShell
командам
Import-Module Appx;
Add-AppxPackage appname.appx;
Вы можете вызывать команды PowerShell из C # вместо запуска файла .ps1
. поэтому конечный пользователь не увидит страшного PowerShell CLI
.
Примечание. Необходимо установить зависимости перед установкой appname.appx, который также является пакетом appx и находится в подпапках. Поэтому напишите программу для вызова Add-AppxPackage
для каждого appx
, сначала зависимости, затем приложение.
Можно ли установить приложение без предварительной установки сертификата?
Нет. И это самая сложная часть.
Чтобы установить ваше приложение, конечный пользователь должен установить сертификат приложения, чтобы подтвердить, что он вам доверяет - могут быть установлены только приложения из надежного источника. И этот процесс требует явного согласия пользователя, я не думаю, что вы можете молча установить сертификат, используя скрипт или что-то еще.
В корпоративной среде на устройствах могут быть уже установлены некоторые сертификаты. Если ваше приложение подписано с использованием одного из этих сертификатов, оно считается из надежного источника, и вы можете вообще пропустить этап установки сертификата. Но я думаю, что нереально просить вашего клиента предоставить такой сертификат для подписи кода, поскольку это является серьезным нарушением информационной безопасности его организации.