Sideloading : Installer des applications modernes sur Windows 8 et Windows RT
Les nouvelles applications Windows 8, dites modernes, sont en général installées à partir du Windows Store. Si vous développez des applications modernes, leur déploiement sur les postes clients sans passer par le Windows Store (procédé dit de sideloading) est soumis à quelques contraintes techniques que nous allons détailler ici. Pour gérer le déploiement de ces applications, vous avez plusieurs solutions comme PowerShell, Windows Intune et System Center Configuration Manager (SCCM) 2012 SP1. La première est présentée ici, les deux autres feront l’objet d’un ou de deux articles très prochains.
Avant d’aller plus loin, je vous conseille la lecture de l’article suivant, par Eric Vernié :
Déploiement d’une application Windows 8 (Interface Moderne) en entreprise
https://blogs.msdn.com/b/devosaure/archive/2013/04/19/d-233-ploiement-d-une-application-windows-8-interface-moderne-en-entreprise.aspx
Résumé des contraintes techniques
Commençons donc par les contraintes techniques. Pour faire du sideloading, il faut répondre à ces exigences :
- La licence :
- Sur Windows 8 Entreprise joint à un domaine AD, il n’y a rien à faire, il n’y a pas besoin de licence supplémentaire.
- Sur Windows 8 Entreprise en workgroup, il faut installer et activer une clé de sideloading. Celle-ci est disponible sur le Volume Licensing Service Center (VLSC) (licences en volume) du client.
- Sur Windows 8 Professionnel dans un domaine ou en workgroup, il faut installer et activer une clé de sideloading. Celle-ci doit être achetée en plus de la licence Windows 8 Professionnel.
- Sur Windows 8 (la version familiale), le sideloading n’est pas possible.
- Sur Windows RT, il faut installer et activer une clé de sideloading. Celle-ci doit être achetée. Note : Windows RT ne peut pas joindre un domaine, il est toujours en workroup.
- Pour autoriser le sideloading, il faut également activer une stratégie “Allow All Trusted Apps” ou “Autoriser l’installation des applications approuvées”. Deux possibilités pour ce faire :
- Soit dans les stratégies (stratégies de groupe ou stratégie locale) dans Configuration ordinateur – Modèles d’administration – composants Windows – Déploiement de package Appx :
- Soit directement dans le registre, en ajoutant la valeur suivante :
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Appx]
"AllowAllTrustedApps"=dword:00000001
- Soit dans les stratégies (stratégies de groupe ou stratégie locale) dans Configuration ordinateur – Modèles d’administration – composants Windows – Déploiement de package Appx :
- Enfin, l’application à installer doit être signée par un certificat auquel le poste fait confiance. C’est à dire que le certificat racine de l’autorité de certification qui a émis le certificat doit être présent dans le magasin “Autorités de certification racines de confiance” de l’ordinateur local.
Note : si le certificat est placé dan sle magasin “Autorités de certification racines de confiance” de l’utilisateur courant, l’installation de l’application échouera.
Quelques détails sur la clé de sideloading
Pour ce qui est des subtilités des questions de licence liées à la clé de sideloading, je vous renvoie à l’article de Cyril Sultan ici :
Windows Intune et Sideloading
https://blogs.technet.com/b/wintunefr/archive/2013/02/26/windows-intune-et-sideloading.aspx
Comme indiqué précédemment, une clé de sideloading n’est pas nécessaire pour Windows 8 Entreprise dans un domaine. Pour Windows 8 Entreprise en workgroup il faut la récupérer sur le site des licences en volume, et pour Windows 8 Pro en domaine ou en workgroup il faut l’acheter (par pack de 100 unités).
Cette fameuse clé a le même format que la clé de produit Windows, et elle s’installe et s’active de la même manière. Le plus simple est d’utiliser le script slmgr.vbs. Dans une console en mode administrateur :
Pour installer la clé :
C:\Windows\system32> cscript slmgr.vbs /ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
Pour activer la clé :
C:\Windows\system32> cscript slmgr.vbs /ato ec67814b-30e6-4a50-bf7b-d55daf729d1e
Note : l’identifiant ec67814b-30e6-4a50-bf7b-d55daf729d1e identifie une clé de sideloading.
Pour vérifier que la clé de sideloading est bien installée et activée :
C:\Windows\system32> cscript slmgr.vbs /dlv
Voici ce que cela donne sur un Windows RT :
La première partie du résultat concerne la clé de Windows, la seconde concerne la clé de sideloading, qui est reconnaissable à la mention 'APPXLOB et à l’identifiant d’activation ec67814b-30e6-4a50-bf7b-d55daf729d1e.
Application des contraintes par script
Ces contraintes peuvent être appliquées en un script PowerShell, à exécuter en tant qu’administrateur :
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Appx
Set-ItemProperty `
-Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Appx `
-Name AllowAllTrustedApps -Value 1
cscript.exe c:\windows\system32\slmgr.vbs /ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
cscript.exe c:\windows\system32\slmgr.vbs /ato ec67814b-30e6-4a50-bf7b-d55daf729d1e
certutil.exe -addstore Root <certificat.cer>
Ce script doit être exécuté avec les privilèges d’administrateur pour l’écriture dans HKLM, l’ajout et l’activation d’une clé de licence, ainsi que pour l’écriture dans le magasin des autorités de certifications racines de confiance de l’ordinateur local.
Installation manuelle d’une application moderne
Comme Eric l’a détaillé dans son article, une commande PowerShell suffit pour installer une application moderne (package .appx) :
Add-AppxPackage <fichier.appx>
Ce qui donne :
Les développeurs pourront examiner à loisir le script Add-AppDevPackage.ps1 créé par Visual Studio à côté du package .appx. Ce script est un exemple complet d’installation d’une application moderne, y compris la gestion du certificat. Par contre, la partie concernant la licence développeur n’est pas pertinente dans un déploiement en production.
Quelques références pour terminer :
How to Add and Remove Apps
https://technet.microsoft.com/en-us/library/hh852635.aspx
Try It Out: Sideload Windows Store Apps
https://technet.microsoft.com/en-us/windows/jj874388.aspx?ocid=wc-nl-insider
App Installation Cmdlets in Windows PowerShell
https://technet.microsoft.com/fr-fr/library/hh856045(en-us).aspx
Dans le prochain article nous nous intéresserons au sideloading par l’intermédiaire de Windows Intune, qui simplifie considérablement la tâche en prenant en charge les trois contraintes techniques de façon automatique.
[12 juillet 2013]
- Ajouté le script d’exemple.
- Insisté sur le fait que le certificat doit être placé dans le magasin des Autorités de certification racines de confiance de l’ordinateur local, et non pas celui de l’utilisateur courant.
[12 août 2013]
- Ajouté le lien vers l’article suivant.
Comments
Anonymous
June 14, 2013
clddddAnonymous
June 21, 2013
Thank you very much for this clear post :) !Anonymous
February 26, 2015
Is this difference with Windows 8.1?
Why Windows 8 (non-pro / non-enterprise) do not support the sideloading features? Why add complex constrainsts that limits users ability to deploy Modern apps? It is something I cannot understand looking at how late Microsoft is in the Store ecosystems war.