Я пытаюсь подготовить приложение как часть образа, подготовленного в режиме аудита, а затем подготовленного с помощью sysprep и захваченного. Приложение загружается неопубликованно, поскольку это бизнес-приложение и версия Windows Enterprise 2019 LTSC, версия 1809, сборка 17763.107.
Я в основном слежу эти инструкции.
Однако я сразу же столкнулся с некоторыми проблемами, поскольку ни один из вариантов (1, 2, 3 и 4) в Требования к неопубликованной загрузке обратиться ко мне с:
В связи с этим перехожу к Настройка ПК для разработки приложений Windows. Редактор управления групповой политикой недоступен (возможно, поскольку планшет не подключен к групповой политике), но я нахожу редактор локальной групповой политики. В нем я могу включить «Разрешить установку всех доверенных приложений», но не могу найти «Разрешить разработку приложений для Windows без установки лицензии разработчика». Вместо этого я нахожу «Разрешает разработку приложений Магазина Windows и их установку из IDE», поэтому я включаю это.
Я создаю пакеты приложений в Visual Studio 2017 и копирую их на устройство в режиме аудита.
Добавляю сертификат из пакета в доверенные корневые сертификаты.
я бегу Add-AppxProvisionedPackage -Online -PackagePath C:\Path\To\Package\App.msixbundle -SkipLicense
Я не получаю ошибок, и единственный вывод сценария:
Дорожка :
Онлайн: Верно
RestartNeeded: False
Если я проверю использование Get-AppxProvisionedPackage
Я вижу приложение с правильной версией.
Sysprep по инструкции Вот и sysprep все нормально обрабатывает и завершает работу.
Я перезагружаюсь и загружаюсь с диска WinPE и записываю образ с помощью DISM на тот же USB-накопитель также в соответствии с инструкциями Вот. Я пропускаю разделение, так как записываю на диск NTFS.
Я снова перезагружаюсь и загружаюсь с той же USB-флешки и разворачиваю образ тоже по инструкции Вот.
После развертывания еще раз перезагружаюсь и прохожу OOBE. После OOBE я вижу приложение в меню «Пуск», но нажатие на него ничего не делает, и если я проверю его свойства, версия верна, но в нем указано, что размер приложения равен 0 байтам, а данные - 0 байтов. Однако значок правильный.
Я попытался просмотреть статьи Microsoft по теме, которую я нашел, и на мгновение мне показалось, что у меня есть решение в этот поток сбоя сервера но «Add-AppxProvisionedPackage» не вызывает ошибки, поэтому, похоже, это не та же проблема.
Любые предложения о том, как действовать, будут очень признательны, так как у меня нет вариантов. Заранее спасибо!
Проблема заключалась в том, что я не указывал вручную зависимости для платформы, на которой приложение также должно было быть развернуто.
Приложение было создано для Arm, x86 и x64 в коде Visual Studio. Папка, созданная кодом Visual Studio, содержала .msixbundle и некоторые другие файлы и папки. Одна из папок называлась Dependencies, а в ней были папки с именами Arm, x86 и x64. Я выполнял развертывание на x64, и эта папка содержала для меня 3 файла:
Решением было указать их как зависимости в Add-AppxProvisionedPackage
вызов.
Итак, звонок, который исправил это для меня, был:
Add-AppxProvisionedPackage -Online -PackagePath C:\Path\To\Package\App.msixbundle –DependencyPackagePath C:\Path\To\Package\Dependencies\x64\Microsoft.NET.CoreFramework.Debug.2.2.appx,C:\Path\To\Package\Dependencies\x64\Microsoft.NET.CoreRuntime.2.2.appx,C:\Path\To\Package\Dependencies\x64\Microsoft.VCLibs.x64.Debug.14.00 -SkipLicense
Windows по-прежнему сообщает, что приложение имеет размер 0 байт и имеет только 88 КБ данных, но работает как задумано.
Рад, что он заработал, но немного расстроен тем, что сообщений об ошибках для недостающих зависимостей нет.