Vue d’ensemble de l’infrastructure de prise en charge des packages

Le Package Support Framework (PSF) est un kit code source ouvert qui vous aide à appliquer des correctifs à votre application de bureau existante lorsque vous n’avez pas accès au code source, afin qu’il puisse s’exécuter dans un conteneur MSIX. Le Framework de prise en charge de package aide votre application à respecter les bonnes pratiques de l’environnement d’exécution moderne.

Voici quelques exemples courants où vous trouverez le framework de prise en charge de package utile :

  • Votre application n’arrive pas à trouver des DLL lors de son lancement. Vous aurez peut-être besoin de définir votre répertoire de travail actuel. Vous pouvez en savoir plus sur le répertoire de travail actuel requis dans le raccourci d’origine avant de l’avoir converti en MSIX.
  • L’application écrit dans le dossier d’installation. En général, vous le verrez via les erreurs « Accès refusé » dans Analyseur de processus.
  • Votre application doit passer des paramètres au fichier exécutable lors du lancement. Vous pouvez en savoir plus sur la façon dont PSF peut vous aider en accédant ici et en savoir plus sur les configurations disponibles ici.

Ce framework est open source et léger, et vous pouvez l’utiliser pour résoudre rapidement les problèmes d’application. Il vous offre également l’opportunité d’échanger avec la communauté dans le monde entier, et de tirer parti des efforts et investissements des autres utilisateurs.

Pour obtenir un guide pas à pas, consultez notre guide de prise en main.

Bien démarrer avec le Framework de prise en charge de package

Voici les outils dont vous aurez besoin :

  1. Framework de prise en charge du package
  2. Obtenir le moniteur de processus pour identifier les problèmes

Vous pouvez case activée notre GitHub pour tous les correctifs disponibles. Si vous en trouvez un, vous pouvez l’appliquer à votre package. Notre guide pas à pas explique comment procéder. Il montre également comment utiliser le débogueur de Visual Studio pour effectuer un pas à pas dans votre application et vérifier que le correctif fonctionne et qu’il a résolu le problème de compatibilité.

Si vous ne trouvez pas de correctif de runtime qui résout votre problème, vous pouvez en créer un. Pour cela, vous allez identifier les appels de fonction qui échouent quand votre application s’exécute dans un conteneur MSIX. Ensuite, vous pouvez créer des fonctions de remplacement que vous souhaitez que le gestionnaire de runtime appellent à la place. Cela vous donne l’opportunité de remplacer l’implémentation d’une fonction par un comportement qui est conforme aux règles de l’environnement d’exécution moderne.

Pour créer l’infrastructure de support de package, tire parti de la technologie Detours qui est une infrastructure code source ouvert développée par Microsoft Research (MSR) et aide à la redirection et au raccordement d’API.

Vous pouvez également utiliser le Framework de prise en charge de package pour exécuter des scripts visant à personnaliser dynamiquement une application pour l’environnement utilisateur. Pour plus d’informations, consultez cet article.

Limites

Le Framework de prise en charge de package ne prend pas en charge les remplacements de registres. Il est conçu pour résoudre les problèmes d’exécution.

Données et télémétrie

Le Framework de prise en charge de package comprend la télémétrie qui collecte les données d’utilisation et les envoie à Microsoft pour contribuer à l’amélioration de nos produits et services. Lisez la déclaration de confidentialité de Microsoft pour en savoir plus. Toutefois, les données sont collectées seulement si les deux conditions suivantes sont réunies :

  • Les fichiers binaires du Framework de prise en charge de package sont utilisés à partir du package NuGet sur un ordinateur Windows 10.
  • L’utilisateur a activé la collecte de données sur l’ordinateur.

Le package NuGet contient des fichiers binaires signés et collecte les données d’utilisation de l’ordinateur. La télémétrie n’est pas collectée lorsque les fichiers binaires sont générés localement en clonant le référentiel ou en téléchargeant les fichiers binaires directement.