Fall Creators Update UWP App Installer Обновление не работает

Я пытаюсь использовать новое средство обновления в Windows 10 Fall Creators Update для обновления моего приложения UWP, которое распространяется за пределами Магазина.

Я использую файл.appinstaller и запускаю установку по следующей ссылке: ms-appinstaller:?source=https://xxx.s3.amazonaws.com/xxx.appinstaller

Установка начальной и обновленной версии работает таким образом.

Однако обновление никогда не устанавливается автоматически.

Мой файл.appinstaller:

<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
   xmlns="http://schemas.microsoft.com/appx/appinstaller/2017"
   Version="1.0.77.0" 
   Uri="https://xxx.s3.amazonaws.com/xxx.appinstaller" > 

   <MainBundle 
       Name="4f479232-f509-428e-a58a-65652003c90f"
       Publisher="CN=xxx, O=xxx, L=xxx, C=DE"
       Version="1.0.77.0"
       Uri="https://xxx.s3.amazonaws.com/xxx/Packaging_1.0.77.0_Test/Packaging_1.0.77.0_x86_x64.appxbundle" />
    <UpdateSettings>
         <OnLaunch/>
    </UpdateSettings>
</AppInstaller>

Обновленный файл.appinstaller отличается только версией 1.0.78.0 и MainBundle-Url, указывающими на обновленный пакет. Все подписи кода действительны.

Я не модифицировал приложение для этого средства обновления.

Поймать обновление, соединяющееся с Fiddler, не удалось.

Я был бы очень признателен за любую помощь с этим, так как я даже не знаю, как отладить это. Инсталлятор приложений создает журналы где-нибудь?

-

PS C:\Users\marvin> Get-AppxPackage -Name 4f479232-f509-428e-a58a-65652003c90f


Name              : 4f479232-f509-428e-a58a-65652003c90f
Publisher         : CN=xxx, O=xxx, L=xxx, C=DE
Architecture      : X64
ResourceId        :
Version           : 1.0.77.0
PackageFullName   : 4f479232-f509-428e-a58a-65652003c90f_1.0.77.0_x64__1mez93s8c8axt
InstallLocation   : C:\Program Files\WindowsApps\4f479232-f509-428e-a58a-65652003c90f_1.0.77.0_x64__1mez93s8c8axt
IsFramework       : False
PackageFamilyName : 4f479232-f509-428e-a58a-65652003c90f_1mez93s8c8axt
PublisherId       : 1mez93s8c8axt
IsResourcePackage : False
IsBundle          : False
IsDevelopmentMode : False
Dependencies      : {4f479232-f509-428e-a58a-65652003c90f_1.0.77.0_neutral_split.scale-100_1mez93s8c8axt,
                    4f479232-f509-428e-a58a-65652003c90f_1.0.77.0_neutral_split.scale-400_1mez93s8c8axt}
IsPartiallyStaged : False
SignatureKind     : Developer
Status            : Ok

РЕДАКТИРОВАТЬ: После публикации этого я нашел страницу, описывающую журналы и коды ошибок: https://msdn.microsoft.com/en-us/library/hh973484.aspx В журнале AppXDeployment-Server я вижу событие, которое регистрируется в системе каждый запуск моего приложения:

Type: info, DeploymentOperation 31
Message Started deployment UpdateUsingAppInstallerOperation on a
package with main parameter 4f479232-f509-428e-a58a-65652003c90f_1.0.77.0_x64__1mez93s8c8axt 
and Options: 0 and 0. See http://go.microsoft.com/fwlink/?LinkId=235160 
for help diagnosing app deployment issues.

Изменить 2: я создал пример проекта, который показывает эту проблему здесь: https://github.com/Marv51/appxUpdater

Вы можете загрузить скомпилированные, подписанные и упакованные двоичные пакеты по адресу: https://testingappxupdater.s3.amazonaws.com/index.html

3 ответа

Решение

Я не мог заставить это работать с Обновлением Создателей Падения. Однако теперь он работает в сборке 17127 с новым инструментарием из VisualStudio 2017 15.7 Preview 2 и SDK для предварительного просмотра.

Новый VisualStudio Preview позволяет настроить URL-адрес обновления при создании пакета. В моем начальном тестировании это работает без проблем.

Вот подробные шаги, которые я следовал:

  1. Иметь правильно сконструированный файл AppInstaller. В моем тесте элемент Uri под <AppInstaller> атрибут ссылается на себя.
  2. Установите его, используя пользовательскую схему ms-appinstaller:?source=<http://...>
  3. Убедитесь, что установлена ​​версия, указанная в файле AppInstaller.
  4. Измените файл AppInstaller, увеличив элемент Version под <AppInstaller> приписывать.
  5. Изменить указанный пакет приложения под <MainBundle> или же <MainPackage> атрибут для ссылки на новую версию. Убедитесь, что имя, версия, издатель соответствуют элементам, указанным в манифесте приложения.
  6. Сохраните его и загрузите в то же место на веб-сервере.
  7. Подождите 24 часа или перенесите системные часы на 24 часа. как изменить системные часы
  8. Через 24 часа снова запустите приложение и закройте его. При этом запуске приложения должна быть запущена проверка обновлений. После закрытия приложения обновление будет успешно завершено.
  9. Запустите приложение еще раз, и на этот раз это должна быть новая версия. В зависимости от размера обновления может пройти больше времени для завершения операции обновления.

@marv51 - Служба развертывания Windows 10 в настоящее время проверяет наличие обновлений только один раз каждые 24 часа при запуске приложения. Итак, попробуйте запустить приложение снова через 24 часа, и обновление должно быть применено после закрытия запущенного приложения.

Если вы не хотите ждать, вы можете переслать системные часы круглосуточно и снова запустить приложение, чтобы запустить обновление.

Другие вопросы по тегам