Créer des fichiers MSIX

Introduction

Le format MSIX est un format de paquetage d’application Windows utilisé pour créer et distribuer des applications dans Windows 10/11. Ces fichiers MSIX ne sont généralement pas disponibles par simple téléchargement, car ils doivent être certifiés et “repackagés” avant d’être installés sur les appareils Windows.

Les fichiers MSIX, APPX et les applications Microsoft Store ne peuvent pas être désinstallés des appareils via Relution directement, seuls les fichiers MSI et EXE peuvent être désinstallés.

Outil d’emballage MSIX

La création de fichiers MSIX nécessite le MSIX Packaging Tool, qui peut être téléchargé depuis le [Microsoft Store →] (https://apps.microsoft.com/store/detail/msix-packaging-tool/9N5LW3JBCXKF?hl=de-de&gl=de) et installé sur un appareil Windows.

Outil de conditionnement MSIX

Création du certificat

L’étape suivante consiste à créer un certificat. Cela peut être fait confortablement via le Powershell. Pour ce faire, changez le nom du certificat et/ou le mot de passe si nécessaire.

    # Générer un nouveau certificat auto-signé avec le sujet 'CN=Relution', l'algorithme de clé RSA,
    # la longueur de clé 2048, l'utilisation de la clé DigitalSignature et le type CodeSigningCert et enregistrez-le dans le magasin de certificats personnel de l'utilisateur.
    # dans le magasin de certificats personnels de l'utilisateur actuel
    $Newcert = New-SelfSignedCertificate -Subject 'CN=Relution' -KeyAlgorithm RSA -KeyLength 2048 -KeyUsage DigitalSignature -Type CodeSigningCert -CertStoreLocation Cert:\CurrentUser\My

    # Obtenir l'empreinte du certificat nouvellement généré
    $trumbprint = $Newcert.Thumbprint

    # Récupérer l'objet certificat de la mémoire par son empreinte
    $cert = (Get-ChildItem -Path cert:\NCurrentUser\My\N$trumbprint)

    # vérifier si le certificat a été récupéré avec succès
    if($cert -ne $null){
      # convertir la chaîne de mots de passe en clair en une chaîne sécurisée
      $Secure_String_Pwd = ConvertTo-SecureString "Passw0rd" -AsPlainText -Force

      # Exporter le certificat dans un fichier PKCS#12 sur le bureau de l'utilisateur
      Export-PfxCertificate -Cert $cert -FilePath $env:USERPROFILE\desktop\MSIXZertifikat.pfx -Password $Secure_String_Pwd

      # Supprimer le certificat de la mémoire
      Remove-Item cert:\NCurrentUser\NMy\N$trumbprint
    }

Le certificat créé doit être stocké dans la catégorie “Autorités de Certification Racine de Confiance” sur tous les appareils Windows 10/11 où les fichiers MSIX doivent être installés. Cela peut être fait soit avec Relution via la configuration de la politique Certificates, soit manuellement, directement sur les appareils. La chaîne de mots de passe dans l’exemple est passw0rd. Pour ajouter le certificat manuellement, démarrez la gestion des certificats Manage Computer Certificates en tant qu’administrateur.

Outil d’emballage MSIX

Création de fichiers MSIX

Lancez le MSIX Packaging Tool et sélectionnez l’option de création d’un nouveau paquetage. Décochez la case “Windows Search is active” dans la boîte de dialogue suivante.

Outil d’emballage MSIX

Dans l’exemple, nous créons un fichier MSIX pour Notepad++. Tout d’abord, un fichier d’installation doit être téléchargé. Ensuite, il faut sélectionner un fichier et un certificat dans le MSIX Packaging Tool. La Préférence de signature doit être réglée sur Signer avec un certificat (.pfx).

MSIX Packaging Tool

Les champs appropriés doivent être remplis.

MSIX Packaging Tool

Le programme d’installation de Notepad++ démarre. Il doit être exécuté normalement et les configurations doivent être définies en fonction des besoins.

Dans le MSIX Packaging Tool, cliquez sur Suivant et Oui, continuer lorsque l’installation de Notepad++ est terminée.

MSIX Packaging Tool

L’outil indiquera qu’aucun service n’a été installé et détecté. Dans la dernière boîte de dialogue, vous pouvez spécifier l’emplacement du paquet. Terminez la création en cliquant sur Create.

Outil d’empaquetage MSIX

Déployer le certificat sur d’autres PC Windows

Afin de pouvoir installer le paquet MSIX sur d’autres PC Windows, le certificat doit être fourni sur ces derniers. Pour ce faire, le certificat doit être converti d’un certificat PKCS12 en un certificat PKCS1 à l’aide d’openSSL. Pour ce faire, openSSL doit être installé sur le système. Cela fonctionne avec la commande suivante :

openssl pkcs12 -in MSIXZertifikat.pfx -clcerts -nokeys -out MSIXZertifikat.der

Le certificat PKCS1 qui vient d’être converti peut alors être téléchargé dans Relution sous Settings > Certificates.

Enfin, le certificat doit être délivré aux périphériques dans une politique pour les périphériques Windows. Pour ce faire, la configuration “Certificats” doit être utilisée et le certificat sélectionné.

Il est obligatoire de sélectionner ‘Trusted root certificate authority’ comme magasin de certificats.