personnaliser vos applications Enterprise avec des packages de modification

La possibilité de personnaliser l’expérience d’une application est importante, en particulier pour les entreprises. Nous avons parlé aux professionnels de l’informatique et nous savons que la personnalisation des applications pour répondre aux besoins de l’utilisateur est essentielle à l’effort de migration vers Windows 10. Lorsque vous personnalisez des applications empaquetées à l’aide de MSI, il est bien entendu que les professionnels de l’informatique doivent acquérir le package auprès des développeurs et recréer un package du programme d’installation avec la personnalisation en fonction de leurs besoins. Il s’agit d’un effort coûteux pour les entreprises. Pour aller plus tard, nous voulons découpler la personnalisation et l’application principale afin que le empaquetage ne soit plus nécessaire. Ainsi, les entreprises bénéficient des dernières mises à jour des développeurs tout en gardant le contrôle de leurs personnalisations.

dans Windows 10, version 1809, nous avons introduit un nouveau type de package MSIX appelé « package de modification». Les packages de modification sont des packages MSIX qui stockent des personnalisations. Les packages de modification peuvent également être des plug-ins/modules complémentaires qui peuvent ne pas avoir de point d’activation. Les professionnels de l’informatique peuvent utiliser cette fonctionnalité pour modifier de manière flexible les conteneurs MSIX afin que les applications soient superposées par les personnalisations de l’entreprise.

Fonctionnement

Les packages de modification sont conçus pour les entreprises qui ne possèdent pas le code de l’application et qui disposent uniquement du programme d’installation. vous pouvez créer un package de modification à l’aide de la dernière version de l’outil d’empaquetage MSIX (pour Windows 10 version 1809 ou ultérieure). Si vous disposez du code pour l’application, vous pouvez également créer une extension d’application.

Si vous souhaitez créer un package de modification qui a une liaison stricte à l’application principale, vous pouvez déclarer l’application principale en tant que dépendance dans le manifeste du package de modification.

<Dependencies>
    <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.15063.0"/>
    <uap4:MainPackageDependency Name="Main.App"/>
</Dependencies>

L’exemple suivant montre comment spécifier un certificat ou un serveur de publication différent.

<Dependencies>
    <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.15063.0"/>
    <uap4:MainPackageDependency Name="Main.App" Publisher="CN=Contoso, C=US" />
</Dependencies>

Il s’agit d’une configuration simple si la relation entre le package de modification et le package principal est un-à-un. Les personnalisations typiques nécessitent souvent des clés de Registre sous HKEY_CURRENT_USER ou HKEY_CURRENT_USERCLASS. Dans notre package MSIX, nous avons des fichiers User. dat et userclass. dat pour capturer les clés de registre. Vous devrez créer User. dat si vous avez besoin de clés de Registre sous HKCU\Software * (tout comme Registry. dat est utilisé pour HKLM\Software * ). Utilisez userclass. dat si vous avez besoin de clés sous HKCU\Sofware\Classes * .

Voici les méthodes classiques pour créer un fichier. dat :

  • Utilisez regedit pour créer un fichier. Créez une ruche dans Regedit et insérez les clés nécessaires. Que le clic droit, exporter et enregistrer sous un fichier Hive. Veillez à nommer le fichier User. dat ou userclass. dat

  • Utilisez une API pour créer les fichiers nécessaires. Vous pouvez utiliser la fonction ORSaveHive pour enregistrer un fichier. dat. Veillez à nommer le fichier Ether User. dat ou userclass. dat

Une fois que vous avez apporté les modifications nécessaires, vous pouvez créer le package de modification comme n’importe quel autre package MSIX. Vous pouvez ensuite déployer le package avec la configuration de déploiement actuelle. Lorsque vous relancez votre application principale, vous pouvez voir les modifications apportées par le package de modification. Si vous choisissez de supprimer le package de modification, votre application principale reviendra à un État sans le package de modification.

Découvrez les packages de modification installés sur votre appareil

À l’aide de PowerShell, vous pouvez voir les packages de modification installés à l’aide de la commande suivante.

Get-AppPackage -PackageTypeFilter Optional

Packages de modification sur Windows 10, version 1809

sur Windows 10, version 1809, les packages de modifications peuvent inclure des configurations qui doivent être définies dans le registre, de sorte que le package principal s’exécute comme prévu. Cela signifie que votre application principale tire parti du Registre pour voir si un plug-in existe. Lorsque vous déployez le package principal et le package de modification, l’application voit lors de l’exécution le Registre virtuel à la fois du package principal et du package de modification.

Notez que votre package principal peut utiliser le Registre virtuel pour effectuer les opérations suivantes :

  • Affichage de l’emplacement où charger le fichier (la DLL) du plug-in. Si tel est le cas, vérifiez que le fichier fait partie du package. En procédant ainsi, le package principal est en mesure d’accéder au fichier lors de l’exécution.
  • Affichage de l’emplacement où voir la valeur des clés de Registre virtuel. Votre package principal peut rechercher une valeur qui existe dans le Registre virtuel. Lorsque vous créez votre package de modification, manuellement ou avec notre outil, assurez-vous que la valeur est correcte.

packages de Modification sur Windows 10, version 1903 et versions ultérieures

Les fonctionnalités suivantes ont été ajoutées à Windows 10, version 1903.

Mise à jour du manifeste

Nous avons ajouté la prise en charge de l’élément suivant au manifeste du package de modification MSIX.

<Properties>
   <rescap6:ModificationPackage>true</rescap6:ModificationPackage>
</Properties>

Pour garantir le fonctionnement des packages de modification dans la version 1903 ou ultérieure, le manifeste du package de modification doit inclure cet élément. Cette opération est effectuée pour vous si vous empaquetez votre package de modification MSIX à l’aide de la version de janvier de l’outil MSIX Packaging Tool. Si vous avez converti un package à l’aide de notre outil avant cette version, vous pouvez modifier votre package existant dans notre outil pour ajouter ce nouvel élément. De plus, si des utilisateurs installent le package de modification, ils sont informés que le package peut modifier l’application principale.

Si vous utilisez un package de modification qui a été créé avant la version 1903, vous devez modifier le manifeste du package pour mettre à jour l' MaxVersionTested attribut vers 10.0.18362.0.

<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.17701.0" MaxVersionTested="10.0.18362.0" />

Créer un package de modification à l’aide de l’outil MSIX Packaging Tool

Vous pouvez créer un package de modification avec l’outil MSIX Packaging Tool :

  • Spécifiez le package principal. Veillez à disposer de la version MSIX de votre package principal sur l’ordinateur sur lequel vous effectuez la conversion. Dans le cas contraire, nous vous demanderons de fournir manuellement les informations sur l’éditeur et l’application principale. Par ailleurs, une personnalisation nécessite que votre application principale soit installée sur votre ordinateur. Outil MSIX Packaging Tool pour créer un package de modification

  • Modifiez le package une fois qu’il a été converti à l’aide de l’éditeur de package. Il peut arriver que le package principal exige que votre package de modification comporte certaines valeurs dans le Registre virtuel. C’est là où vous allez modifier le package de façon appropriée.

Créer un package de modification à l’aide de MakeAppx.exe

vous pouvez créer un package de modification manuellement à l’aide de l’outil MakeAppX.exe inclus dans le kit de développement logiciel (SDK) Windows 10.

  • Dans le manifeste, spécifiez le package principal. Ajoutez l’éditeur et le nom du package principal.

    <Dependencies>
      <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.17701.0" MaxVersionTested="12.0.0.0"/>
      <uap4:MainPackageDependency Name="HeadTrax" Publisher="CN=Contoso Software, O=Contoso Corporation, C=US" />
    </Dependencies>
    
  • Créez Registry.dat, User.dat et Userclass.dat afin de créer les clés de Registre nécessaires pour charger votre package de modification. Cette opération n’est requise que si vous avez besoin que votre application principale voit les clés de Registre personnalisées. N’oubliez pas que, dans la mesure où tout est exécuté à l’intérieur d’un conteneur, le Registre virtuel du package principal et du package de modification fusionnent lors de l’exécution afin que le package principal puisse voir le Registre virtuel des packages de modification.

Ce processus prend également en charge les personnalisations et plug-ins de système de fichiers, tant que l’exécutable de l’application principale ne se trouve pas dans un système de fichiers virtuel. Ceci a pour but de garantir que le package principal obtiendra tous les systèmes de fichiers virtuels du package principal et du package de modification.

Installer les packages de modification sur l’ordinateur

L’installation des packages de modification sur l’ordinateur suit les autres conventions d’installation. Il est à noter que vous pouvez utiliser le paramètre -OptionalPackagePath lors de l’installation du package.