2017-10-21 95 views
2

J'essaie d'utiliser le nouveau programme de mise à jour de Windows 10 Fall Creators Update pour mettre à jour mon application UWP distribuée à l'extérieur du magasin.Les créateurs d'automne mettent à jour le programme d'installation de l'application UWP ne fonctionnent pas

J'utilise un fichier .appinstaller et déclencher l'installation avec un lien comme celui-ci: ms-appinstaller:?source=https://xxx.s3.amazonaws.com/xxx.appinstaller

L'installation de la formation initiale et la version mise à jour à la fois le travail de cette façon.

Toutefois, la mise à jour n'est jamais installée automatiquement.

Mon fichier .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> 

le fichier mis à jour .appinstaller ne diffère que dans la version 1.0.78.0 beeing et la mainBundle-URL pointant vers le package mis à jour. Toutes les signatures de code sont valides.

Je n'ai pas modifié l'application de quelque manière que ce soit pour ce programme de mise à jour.

La connexion du programme de mise à jour avec Fiddler a échoué.

J'apprécierais vraiment toute aide avec ceci, car je ne sais même pas comment déboguer ceci. Le programme d'installation de l'application crée-t-il des journaux à un emplacement quelconque?

-

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 

EDIT: Depuis l'affichage cela, j'ai trouvé une page décrivant les journaux et les codes d'erreur: https://msdn.microsoft.com/en-us/library/hh973484.aspx# Dans le journal AppXDeployment-serveur je vois un événement qui obtient connecté à chaque démarrage de mon application :

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. 

Edit 2: J'ai créé un exemple de projet qui montre cette question ici: https://github.com/Marv51/appxUpdater

Vous pouvez télécharger les ensembles binaires compilés, signés et empaquetés à partir de: https://testingappxupdater.s3.amazonaws.com/index.html

+0

Je suis également incapable de faire le travail .appinstaller. Voir https://twitter.com/tonyvca/status/921693502722990082 – Tony

+0

@Tony Install avec .appinstaller fonctionne ici, seule la partie Updater ne fonctionne pas. Mais je l'utilise pour une application Desktop Bridge, donc il n'y a pas de dépendances. – marv51

+0

Je pense que la version AppInstaller doit être 1.0.0.0 Tony

Répondre

0

@ marv51 - Le service de déploiement Windows 10 ne vérifie actuellement qu'une mise à jour toutes les 24 heures par lancement de l'application. Donc, essayez de lancer l'application à nouveau après 24 heures et la mise à jour devrait être appliquée une fois l'application lancée est fermée.

Si vous ne voulez pas attendre, vous pouvez transférer l'horloge système 24 heures et relancer l'application pour déclencher la mise à jour.

+0

Le service de déploiement enregistre-t-il une sortie supplémentaire n'importe où? Puis-je définir un drapeau Verbose/Debug ou quelque chose? Puis-je démarrer le processus depuis PowerShell? J'ai attendu 24h essayé, pas de mise à jour. J'ai mis l'horloge un jour en avant, redémarré, a commencé l'application, a attendu 5 min, a quitté l'application, a commencé à nouveau l'application, même version. EventViewer affiche le même UpdateUsingAppInstallerOperation à chaque démarrage. Rien de plus. – marv51

+0

Désolé de l'entendre. Il n'existe aucun moyen de déclencher le processus de mise à jour à partir de PowerShell. Vous pouvez cependant installer le fichier .AppInstaller à l'aide de PowerShell. Pouvez-vous vérifier que vous pouvez installer manuellement ce fichier .AppInstaller mis à jour sans aucun problème? – Chait

+0

J'ai vérifié que la nouvelle version s'installe correctement lorsqu'elle est déclenchée manuellement. – marv51

1

Voici les étapes détaillées que je suivais:

  1. Avoir un fichier AppInstaller correctement construit. Dans mon test, l'élément Uri sous l'attribut <AppInstaller> se réfère à lui-même.
  2. Installez-le en utilisant le modèle personnalisé ms-appinstaller:?source=<http://...>
  3. Vérifiez que la version installée est celle spécifiée dans le fichier AppInstaller.
  4. Modifiez le fichier AppInstaller en incrémentant l'élément Version sous l'attribut <AppInstaller>.
  5. Modifiez le package d'application spécifié sous l'attribut <MainBundle> ou <MainPackage> pour faire référence à la nouvelle version.Assurez-vous que le nom, la version et l'éditeur correspondent aux éléments spécifiés dans le manifeste de l'application.
  6. Enregistrez-le et téléchargez-le au même emplacement sur le serveur Web.
  7. Attendez 24 heures ou avancez votre horloge système de 24 heures. how to change system clock
  8. Après 24 heures, relancez l'application et fermez-la. Lors de ce lancement de l'application, la vérification des mises à jour doit être déclenchée. À la fermeture de l'application, la mise à jour se terminera avec succès.
  9. Lancez à nouveau l'application et cette fois, il devrait s'agir de la nouvelle version. Selon la taille de la mise à jour, l'opération de mise à jour peut prendre plus de temps.
+0

Bonne explication des étapes !!!! Merci beaucoup! Tu es Dieu! Mais je ne trouve aucune information sur le déclenchement de l'événement de mise à jour. L'application contient-elle le fichier .appinstaller pour vérifier et compacter la nouvelle version via le fichier d'application (sur le serveur)? Est-ce que l'application est dans son propre fichier d'application? Comment détermine-t-il les URL des fichiers .appinstaller et .appxbundle? Merci d'avance. –