Installer le Microsoft Store sous Windows 10 ARM sur Mac M1

J’en parlais hier, il est possible d’installer Windows 10 ARM sur un Mac M1 avec la preview de Parallels Desktop. Mais un problème se pose : le Microsoft Store ne fonctionne pas. Et il y a une solution.

Par défaut, le Microsoft Store ne se lance pas sur un Mac M1 avec Windows 10 ARM. Vous verrez peut-être apparaître furtivement l’interface… et c’est tout. Ce n’est pas lié à Parallels ou au fait d’utiliser une bêta de Windows 10 ARM, mais à un souci plus profond. Le SoC Apple M1 utilise en effet le jeu d’instructions 64 bits d’ARM… et c’est tout. Il ne prend absolument pas en charge le code 32 bits. Et malheureusement, le Microsoft Store (et pas mal d’applications natives sous Windows 10 ARM) est compilé en 32 bits.

La solution consiste à (ré)installer une version compatible avec l’OS. Le lien juste avant explique comment le faire pour les applications du Store en général, je vous explique comment le faire pour le Store lui-même. Attention tout de même : il existe quatre possibilités pour les applications sous Windows 10 (ARM 32 bits, ARM 64 bits, x86 32 bits et x86 64 bits) mais Windows 10 ARM sur un Mac M1 n’en gère que deux. Par défaut, en effet, vous ne pourrez pas lancer les applications ARM 32 bits (à cause du CPU) ni les applications x86 6 bits (à cause de l’OS). Une bêta de Windows 10 ARM avec la compatibilité x86 64 bits existe, mais elle est instable.

Le tuto

Allez dans Settings -> Update & Security -> For developers et cochez la case Developer Mode.

Dans la barre de recherche, cherchez PowerShell et lancez-le en tant qu’administrateur.

Tapez cette commande. Attention, elle va supprimer toutes les applications du Store, même celles installées par défaut (qui ne fonctionnent de toute façon pas).

Get-AppXPackage | Remove-AppxPackage

Là, ça devient compliqué. Premièrement, vous allez devoir aller récupérer le binaire d’installation du Microsoft Store. Il va falloir passer par cette adresse : store.rg-adguard.net. Dans le champ, copiez cette adresse.

https://www.microsoft.com/en-us/p/microsoft-store/9wzdncrfjbmp

Le site vous proposera une liste de fichiers, il faut prendre le plus récent, avec une extension .appxbundle.

Une fois le fichier téléchargé, renommez-le en .zip et décompressez-le. Dans le dossier, vous trouverez différents fichiers .appx, avec différentes valeurs dans le nom. La version ARM 32 bits contient ARM, la x86 32 bits x86, etc. Le plus simple est d’installer la version x86 32 bits, donc faites un clic droit sur le fichier (WinStore_12011.1001.1.0_x86.appx dans mon cas) en pressant la touche majuscule. Dans le menu, choisissez Copy as path.

Retournez dans le PowerShell et tapez la commande suivante.

Add-AppxPackage -Path "le_chemin_copié_vers_le_appx"

Maintenant, il suffit d’attendre, le Microsoft Store va se réinstaller, en version 32 bits.

Le problème du 32 bits

Maintenant, on arrive au problème principal. Même avec un Microsoft Store qui se lance, il y a de fortes chances que les programmes que vous allez installer ne fonctionnent pas. En fait, de base, le Store risque d’installer la version ARM 32 bits, qui ne fonctionne donc pas. Là aussi, il faut quelques manipulations pour forcer la bonne version. Prenons l’exemple de VLC, installé via le Store, qui ne se lance pas.

Comme précédemment, lancez le PowerShell en tant qu’administrateur. La commande suivante va lister les applications installées, et ouvrir la liste dans le Notepad.

Get-AppxPackage -allusers > ~/apps.txt;start ~/apps.txt

Maintenant, continuons avec VLC, il faut désinstaller la version installée, en utilisant le nom de l’application (VideoLAN.VLC dans notre cas, c’est dans le fichier généré juste avant).

Get-AppxPackage VideoLAN.VLC | Remove-AppxPackage -AllUsers

Ensuite, il faut trouver l’adresse de la page de VLC sur le Microsoft Store (Google est votre ami) et l’insérer sur ce site, comme précédemment.

La manipulation va être la même que pour le Microsoft Store : il faut récupérer le .appxbundle le plus récent, le décompresser, et installer manuellement la bonne version. Dans le cas de VLC, le problème est le même que pour le Microsoft Store : il n’y a pas de version ARM 64 bits. La solution consiste donc à forcer la version x86 32 bits ou la version x86 64 bits, si vous avez la bonne version de Windows 10 ARM.

Add-AppxPackage -Path "chemin_vers_VLC.Universal_3.2.1.0_x64.appx"

Une fois que c’est fait, VLC se lance en émulation x86 64 bits.

Vous n’aurez pas besoin de faire ça avec tous les logiciels : certains ne proposent que du x86 32 bits, ou pas d’ARM (ou tout simplement de l’ARM 64 bits). iTunes, par exemple, passe en x86 64 bits.

Espérons tout de même qu’une solution plus simple émergera à terme…