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-адрес обновления при создании пакета. В моем начальном тестировании это работает без проблем.
Вот подробные шаги, которые я следовал:
- Иметь правильно сконструированный файл AppInstaller. В моем тесте элемент Uri под
<AppInstaller>
атрибут ссылается на себя. - Установите его, используя пользовательскую схему
ms-appinstaller:?source=<http://...>
- Убедитесь, что установлена версия, указанная в файле AppInstaller.
- Измените файл AppInstaller, увеличив элемент Version под
<AppInstaller>
приписывать. - Изменить указанный пакет приложения под
<MainBundle>
или же<MainPackage>
атрибут для ссылки на новую версию. Убедитесь, что имя, версия, издатель соответствуют элементам, указанным в манифесте приложения. - Сохраните его и загрузите в то же место на веб-сервере.
- Подождите 24 часа или перенесите системные часы на 24 часа. как изменить системные часы
- Через 24 часа снова запустите приложение и закройте его. При этом запуске приложения должна быть запущена проверка обновлений. После закрытия приложения обновление будет успешно завершено.
- Запустите приложение еще раз, и на этот раз это должна быть новая версия. В зависимости от размера обновления может пройти больше времени для завершения операции обновления.
@marv51 - Служба развертывания Windows 10 в настоящее время проверяет наличие обновлений только один раз каждые 24 часа при запуске приложения. Итак, попробуйте запустить приложение снова через 24 часа, и обновление должно быть применено после закрытия запущенного приложения.
Если вы не хотите ждать, вы можете переслать системные часы круглосуточно и снова запустить приложение, чтобы запустить обновление.