Oui, il est techniquement possible d’installer des applications « Modern UI » Windows 8/8.1 au format .appx/.appxbundle sur Windows Server 2012 R2. Mais cela exige une configuration précise (Desktop Experience, sideloading, certificats) et comporte des limites et risques de sécurité.
Peut‑on installer des applications Windows 8 (.appx) sur Windows Server 2012 R2 ?
Vue d’ensemble de la question
Un utilisateur prévoit d’installer Windows Server 2012 R2 dans une VM et souhaite y ajouter des applications « Modern UI » (WinRT) conçues pour Windows 8/8.1, obtenues en dehors du Microsoft Store. Le cœur du sujet est double : compatibilité (les API WinRT sont-elles présentes ?) et politique d’installation (sideloading, signature, certificats).
Réponse & solution — résumé
Points clés | Détails pratiques |
---|---|
Fin de support | Windows Server 2012 et 2012 R2 sont hors support depuis le 10 octobre 2023. Il est possible d’étendre la couverture via ESU (Extended Security Updates) jusqu’en 2026 pour les environnements qui ne peuvent pas encore migrer. |
Compatibilité technique | Windows Server 2012 R2 partage un socle avec Windows 8.1. Les apps WinRT ciblant Windows 8/8.1 peuvent fonctionner si l’interface graphique est installée et si le sideloading est autorisé. |
Activer l’exécution d’apps | 1) Installer Desktop Experience (voir procédure ci‑dessous). 2) Activer le sideloading via stratégie de groupe ou registre. 3) Importer le certificat ayant signé l’app, si elle n’est pas issue du Store. 4) Installer via PowerShell : Add‑AppxPackage ou provisionner pour tous les utilisateurs avec Add‑AppxProvisionedPackage . |
Limites courantes | – Absence de licence/infra Store : certaines apps refuseront de se lancer. – Nombreuses apps 8/8.1 reposent sur des services aujourd’hui indisponibles. – Les packages UWP conçus pour Windows 10/11 ne s’installeront pas. – Risques élevés sur un OS hors support (surface d’attaque accrue). |
Alternatives | Migrer vers Windows Server 2019/2022 (Desktop Experience) et/ou exécuter l’app dans une VM Windows 10/11. Privilégier une version Win32 ou Web quand elle existe. |
Prérequis et préparation du serveur
Vérifier le type d’installation
Édition / Mode | Peut exécuter des apps .appx ? | Remarques |
---|---|---|
Server Core | Non | Pas d’interface moderne ni de services nécessaires à AppX. |
Server avec interface graphique (GUI) | Oui, avec Desktop Experience | Installation de composants multimédias et du cadre nécessaire aux apps. |
Installer Desktop Experience
Via Server Manager : Server Manager → Add Roles and Features → Features → User Interfaces and Infrastructure → Desktop Experience, puis redémarrez.
Via PowerShell :
# À exécuter dans une console PowerShell élevée
Install-WindowsFeature Desktop-Experience -Restart
Conseil : gardez UAC activé. Les apps Modern UI refusent de s’exécuter lorsque UAC est désactivé, et le compte « Administrateur » intégré peut poser problème. Utilisez plutôt un compte administrateur classique (membre du groupe Administrateurs).
Services à vérifier
- AppX Deployment Service (AppXSVC) : doit être en mode manuel/démarrage à la demande et démarrer lors des installations.
- Windows Update (si utilisé pour d’autres composants) : éviter sa désactivation complète.
Activer le sideloading d’applications .appx
Scénario A : machine membre d’un domaine Active Directory
- Ouvrez la GPMC et créez/ou modifiez une GPO appliquée au serveur.
- Allez dans : Computer Configuration → Administrative Templates → Windows Components → App Package Deployment.
- Activez la stratégie Allow all trusted apps to install (Autoriser l’installation de toutes les apps approuvées).
- Facultatif mais utile : Allow deployment operations in special profiles (profils spéciaux), et Allow development of Store apps… pour les scénarios de test.
- Forcer l’application de la GPO :
gpupdate /force
.
Important : sur un poste joint au domaine, une clé produit de sideloading n’est généralement pas requise.
Scénario B : machine autonome (workgroup)
- Activez la même stratégie locale (gpedit.msc, même chemin de stratégie que ci‑dessus).
- Installez une clé produit de sideloading valide (volume licensing) :
slmgr.vbs /ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX slmgr.vbs /ato
- Redémarrez si nécessaire.
Note : les clés de sideloading ne sont plus vendues. Dans certains environnements, il reste des clés historiques associées à des contrats de licences en volume.
Signature et certificats : préparer la confiance
Un package .appx (ou .appxbundle) doit être signé. S’il ne provient pas du Store, vous devez faire approuver le certificat de signature par le serveur cible.
- Récupérez le fichier
.cer
(certificat public) ayant servi à signer l’app. - Importez-le dans l’ordinateur local : Trusted Root Certification Authorities (racines de confiance) et, le cas échéant, Trusted People (personnes de confiance).
Commande PowerShell :
# Importer le certificat de signature dans les magasins de l'ordinateur local
Import-Certificate -FilePath C:\Apps\MonCertificat.cer `
-CertStoreLocation Cert:\LocalMachine\TrustedPeople
Import-Certificate -FilePath C:\Apps\MonCertificat.cer `
-CertStoreLocation Cert:\LocalMachine\Root
Si vous signez vous‑même des applis internes (LOB), utilisez signtool.exe
et un certificat émis par votre PKI interne ou un certificat code‑signing d’entreprise.
Installer les dépendances
De nombreuses apps 8/8.1 reposent sur des framework packages (ex. Microsoft.VCLibs.120) ou sur des bibliothèques fournies séparément. Placez toutes les dépendances dans un dossier et installez‑les avant ou en une seule passe.
# Exemple d'arborescence
C:\Apps\
├─ Contoso.App\Contoso.appx
└─ Dependencies\
├─ Microsoft.VCLibs.120.00_x64.appx
└─ Contoso.Framework_x64.appx
Installer et provisionner les packages .appx
Installation pour l’utilisateur courant
# Ouvrir PowerShell en tant qu’administrateur (compte non "Administrator" intégré)
Add-AppxPackage `
-Path C:\Apps\Contoso.App\Contoso.appx `
-DependencyPath C:\Apps\Dependencies\Microsoft.VCLibs.120.00_x64.appx, `
C:\Apps\Dependencies\Contoso.Framework_x64.appx
Provisionner pour tous les utilisateurs (présents et futurs)
# Provisionner dans l'image en ligne (nouveaux profils recevront l'app à la 1ère ouverture)
Add-AppxProvisionedPackage -Online `
-FolderPath C:\Apps\Contoso.App `
-SkipLicense
Hors ligne (image montée) :
dism /Image:D:\Mount `
/Add-ProvisionedAppxPackage `
/PackagePath:C:\Apps\Contoso.App\Contoso.appx `
/FolderPath:C:\Apps\Dependencies `
/SkipLicense
Vérifier, mettre à jour, retirer
# Lister les apps installées pour tous les utilisateurs
Get-AppxPackage -AllUsers | Select Name, Version, PackageFullName | Sort Name
# Lister les apps provisionnées (base d'image)
Get-AppxProvisionedPackage -Online | Select DisplayName, Version, PackageName
# Mettre à jour (méthode simple : réinstaller le .appx plus récent)
Add-AppxPackage -Path C:\Apps\Contoso.App\Contoso_vNext.appx -DependencyPath C:\Apps\Dependencies*
# Désinstaller pour l'utilisateur courant
Remove-AppxPackage
# Retirer du provisioning (ne sera plus injecté aux nouveaux profils)
Remove-AppxProvisionedPackage -Online -PackageName
Problèmes fréquents et solutions
Symptôme/Code | Cause probable | Correctif |
---|---|---|
0x80073CF3 (dependency/collision) | Dépendance manquante ou mauvaise architecture (x86/x64) | Installer toutes les dépendances correspondantes à l’architecture du serveur. |
0x800B0109 (certificat non approuvé) | Chaîne de confiance incomplète | Importer le .cer dans Root et TrustedPeople. Vérifier l’horodatage et la validité. |
0x80073CFE (bloqué par stratégie) | Sideloading désactivé | Activer la GPO Allow all trusted apps to install, puis gpupdate /force . |
« This app can’t open using the Built-in Administrator » | Compte Administrator + UAC désactivé | Activer UAC (EnableLUA=1), privilégier un compte admin standard. |
0x80073CF9 (échec générique d’installation) | Dossiers système ou services AppX perturbés | Vérifier AppXSVC, l’espace disque et le journal AppXDeployment‑Server dans l’Observateur d’événements. |
App qui se lance puis se ferme | Services/Backends Cloud fermés | Tester en mode offline ; si l’app dépend d’APIs disparues, elle est devenue inutilisable. |
Journaux utiles
- Observateur d’événements → Applications and Services Logs → Microsoft → Windows → AppXDeployment‑Server → Operational.
- Fichiers CBS (
C:\Windows\Logs\CBS\CBS.log
) si DISM est impliqué.
Considérations support & sécurité
- OS hors support : plus de mises à jour de sécurité depuis octobre 2023. Les ESU existent jusqu’en 2026, mais l’option doit être évaluée au regard du coût et du risque résiduel.
- Réduction de la surface d’attaque : segmenter le réseau, limiter les ports exposés, utiliser un compte à privilèges minimaux pour exploiter les apps, activer le pare‑feu, journaliser.
- Durabilité : de nombreuses apps Windows 8/8.1 dépendent d’APIs ou de services qui ne sont plus disponibles ; même si l’installation réussit, l’usage peut rester impossible.
- Conformité : si l’environnement est soumis à des exigences réglementaires, documentez et isolez tout serveur 2012 R2 qui resterait en production.
Alternatives plus pérennes
- VM Windows 10/11 dédiée aux apps modernes
- Migration vers Windows Server 2019/2022 (Desktop Experience) pour les charges serveur, tout en gardant les apps clientes sur un OS client supporté.
- Remplacement par une version Win32 (MSI/MSIX) ou une application Web, quand c’est possible.
Procédure guidée (pas‑à‑pas)
- Vérifier que l’édition installée est Server avec interface graphique.
- Installer Desktop Experience et redémarrer.
- Laisser UAC activé ; éviter le compte Administrator intégré pour les tests.
- Activer le sideloading : GPO « Allow all trusted apps to install » (domaine) ou GPEdit (workgroup).
- Sur machine non jointe au domaine : installer une clé de sideloading (si vous en disposez).
- Importer le certificat de signature de l’app (magasins Root et TrustedPeople).
- Rassembler toutes les dépendances .appx de l’app (ex. VCLibs) dans un dossier.
- Installer l’app :
Add‑AppxPackage -Path ... -DependencyPath ...
. - Optionnel : provisionner pour tous les utilisateurs :
Add‑AppxProvisionedPackage -Online -FolderPath ...
. - Vérifier l’installation :
Get‑AppxPackage -AllUsers
et tester l’ouverture.
Bonnes pratiques d’exploitation
- Snapshots/points de restauration avant tout déploiement d’apps, surtout en VM.
- Sauvegardes des dossiers de l’app (s’il y a des données locales) et de la configuration.
- Isolation réseau : placer la VM dans un VLAN isolé si l’app doit simplement être démontrée/testée.
- Comptes dédiés : éviter de lancer les apps sous un compte à privilèges élevés au quotidien.
- Supervision : surveiller les journaux AppXDeployment‑Server pour détecter les anomalies récurrentes.
FAQ rapide
Le Microsoft Store fonctionne‑t‑il sur Server 2012 R2 ?
Le Store n’est pas conçu pour un usage serveur et sa disponibilité/fiabilité est très limitée sur un OS hors support. Privilégiez le sideloading de packages internes signés quand vous avez un besoin impératif.
Puis‑je installer des apps conçues pour Windows 10/11 (UWP, API ≥ 10.0) ?
Non. 2012 R2 cible l’ère Windows 8.1. Les APIs et dépendances des apps UWP récentes sont absentes.
Et sur un hôte RDS/RemoteApp ?
Les apps Modern UI ne sont pas adaptées au multi‑session classique via RemoteApp sur 2012 R2. Pour la publication distante, restez sur des applications Win32.
Comment signer un package interne ?
Créez/obtenez un certificat de signature de code (idéalement via votre PKI d’entreprise) puis signez votre .appx
avec signtool.exe
. Déployez le certificat dans les magasins de confiance des serveurs cibles.
Comment gérer les mises à jour de l’app ?
Réinstallez la nouvelle version (Add‑AppxPackage
) avec les dépendances à jour. En cas de doute, désinstallez la version précédente avant d’installer la nouvelle.
Exemples de scripts utiles
Installer tous les .appx d’un dossier avec leurs dépendances
$AppFolder = 'C:\Apps\Contoso.App'
$DepFolder = 'C:\Apps\Dependencies'
$main = Get-ChildItem -Path $AppFolder -Filter *.appx -File | Select-Object -First 1
$deps = Get-ChildItem -Path $DepFolder -Filter *.appx -File | ForEach-Object { $_.FullName }
if (-not $main) { throw "Aucun .appx trouvé dans $AppFolder" }
Write-Host "Installation de $($main.Name)..." -ForegroundColor Cyan
Add-AppxPackage -Path $main.FullName -DependencyPath $deps
Write-Host "Terminé."
Désinstaller une app pour tous les utilisateurs et nettoyer le provisioning
$name = 'Contoso.App'
$pkgs = Get-AppxPackage -AllUsers | Where-Object { $_.Name -eq $name }
foreach ($p in $pkgs) {
Write-Host "Suppression utilisateur: $($p.PackageFullName)"
Remove-AppxPackage $p.PackageFullName -ErrorAction SilentlyContinue
}
$prov = Get-AppxProvisionedPackage -Online | Where-Object { $_.DisplayName -eq $name }
foreach ($q in $prov) {
Write-Host "Suppression provisioning: $($q.PackageName)"
Remove-AppxProvisionedPackage -Online -PackageName $q.PackageName | Out-Null
}
Write-Host "Nettoyage terminé."
Enjeux de pérennité et plan de sortie
Si votre objectif est un prototype ou la récupération d’une fonctionnalité spécifique d’une ancienne app, la procédure ci‑dessus fonctionne encore dans un cadre contrôlé. Pour un usage durable ou exposé, la migration est impérative. Planifiez un passage à une plateforme supportée, en identifiant :
- Les fonctionnalités requises (peuvent‑elles être couvertes par une app Web ?)
- Les dépendances matérielles/logiciels de l’app (bibliothèques, codecs, frameworks)
- La stratégie de packaging cible (MSIX pour Windows 10/11, ou installateur MSI)
- Les exigences de sécurité et de conformité
Conclusion
Oui, l’installation d’apps Windows 8/8.1 (.appx/.appxbundle) sur Windows Server 2012 R2 est faisable : il faut Desktop Experience, activer le sideloading, approuver le certificat de signature et utiliser PowerShell pour l’installation/provisionnement. Toutefois, l’OS étant hors support depuis octobre 2023 et nombre d’apps 8/8.1 s’appuyant sur des services obsolètes, la solution reste fortement déconseillée en production. En pratique, migrer vers un OS supporté ou exécuter l’app dans une VM cliente moderne demeure l’option la plus sûre.