Могу ли я создать приложение боковой загрузки UWP, которое полностью зависит от установки, без использования Add-AppDevPackage.ps1? - PullRequest
0 голосов
/ 21 мая 2019

Прямо сейчас у меня есть приложение UWP, которое вылетает в разных местах на разных платформах и версиях Win10, и до сих пор только одна из них выдавала несколько действенное сообщение об ошибке об отсутствии Microsoft.NET.CoreRuntime.1.1,и что с разработчиком следует связаться по этому поводу.

Я видел несколько статей, в которых описываются способы выполнения вещей, связанных с этим вручную, но я должен предположить, что это не предполагаемый рабочий процесс из Visual Studio.

Iff Я знаю, какую минимальную версию Windows можно настроить для и всех платформ, которые я собираюсь поддерживать, кроме моего приложения или его сгенерированногоманифест определить, какие зависимости требуются и предоставить мне возможность автоматически упаковать их?Если так, то как?Примеры CLI предпочтительнее, но ответов Visual Studio будет достаточно.

Нет смысла в том, что приложения Store автоматически устанавливают все необходимое, но мне нужно, чтобы пользователи моего приложения боковой загрузки запускали этот сценарий powershell Add-AppDevPackage.ps1 каждыйвремя, чтобы убедиться, что нет никаких зависимостей.


Обновление:

В настоящее время это невозможно сделать , но это нормально .Практически единственное, что вы можете сделать в данный момент, это использовать скрипт powershell или вручную обработать ваши пакеты зависимостей.Тем не менее, скрипт powershell является более гибким, чем указано в аналогичных вопросах и ответах.Например, этот ответ делает его более сложным, чем нужно:

... Если вы хотите установить приложение с помощью PowerShell, вам все равно нужно установитьзависимостей.Командлет Add-AppxPackage можно использовать для добавления подписанного пакета приложения в учетную запись пользователя, а параметр DependencyPath - для добавления всех других пакетов, необходимых для установки пакета приложения.См. Тему Add-AppxPackage и пример 1. Добавление пакета приложения для установки приложения и зависимостей.

Add-AppxPackage -Path "C:\Users\user1\Desktop\MyApp.appx" -DependencyPath "C:\Users\user1\Desktop\Microsoft.NET.CoreRuntime.2.1.appx"

Вам не нужно напрямуювообще указывайте на свои зависимости , т.е. вам даже не нужно использовать переключатель -DependencyPath, если вы запускаете скрипт powershell из созданного каталога \AppPackage\, как показано ниже:

enter image description here

Все, что вам нужно сделать, это просто запустить скрипт напрямую, и не только установить ваши зависимости, но и ваше приложение.

enter image description here

1 Ответ

1 голос
/ 21 мая 2019

Когда мне следует создавать .AppXBundle вместо .AppX и наоборот?

Пожалуйста, отметьте Типы пакетов приложений :

.appx - это файл, который содержит ваше приложение в формате, который можно загрузить на устройство.Любой отдельный файл пакета приложения, созданный Visual Studio, не предназначен для отправки в Центр партнеров и должен использоваться только для дополнительной загрузки и тестирования.

Пакет приложения - это тип пакета, который может содержать несколько пакетов приложения,каждый из которых создан для поддержки конкретной архитектуры устройства.Например, пакет приложений может содержать три отдельных пакета приложений для конфигураций x86, x64 и ARM.Пакеты приложений должны создаваться всегда, когда это возможно, поскольку они позволяют вашему приложению быть доступным на самом широком диапазоне устройств.

Итак, если ваше приложение не будет опубликовано в магазине MS, вы просто захотите загрузить его.Это.Вы можете использовать файл .appx.

Как я могу убедиться, что мое приложение загружает и устанавливает все отсутствующие зависимости в системе, в которой оно устанавливается?

@ Breeze ответилэтот вопрос в этой теме Как добавить Microsoft.NET.CoreRuntime.2.1 для установщика пакета UWP? .Если пользователи установят ваше приложение из MS Store, store автоматически установит зависимости, которые нужны вашему приложению, но не установлены.Если они загружают его, им нужно будет установить зависимость вручную.Эти Зависимости находятся в папке Зависимости, которая находится в папке вашего пакета.

Как я могу убедиться, что мои зависимости упакованы и установлены непосредственно из пакета приложения, а не загружаются позже??

Согласно ответу @ Breeze, если вы опубликуете свой пакет приложений в хранилище MS и разрешите пользователям устанавливать приложение из хранилища MS, хранилище автоматически установит зависимости.Эти пакеты зависимостей не должны быть привязаны к кому-либо из пакетов приложений.Он должен быть установлен в ОС, другие приложения могут также нуждаться в этом.

...