Créer un répertoire à n’importe quel emplacement basé sur le répertoire du package d’application

Pour répondre à certaines exigences, les applications peuvent exiger que les fichiers apparaissent dans leur répertoire d’installation existant. Par exemple, si une application particulière attendait un fichier dans un dossier, comme C :\Program Files\Contoso ; ce répertoire peut être modifié par les administrateurs. À compter de Windows 11, les applications peuvent spécifier un répertoire en dehors du répertoire WindowsApps et le système d’exploitation garantit que les fichiers apparaissent à cet emplacement avec les listes de contrôle d’accès appropriées héritées du répertoire parent.

Déclaration de l’emplacement du répertoire dans le manifeste

Pour activer cette fonctionnalité, le package doit déclarer où projeter les fichiers dans le package. Voici un exemple

<Package...> 
  <Extensions> 
    <desktop8:Extension Category="windows.MutablePackageDirectories"> 
      <desktop8:MutablePackageDirectories> 
        <desktop8:MutablePackageDirectory target="$(package.volumeroot)\Program Files\<Folder>" Shared=”true”> 
      </desktop8:MutablePackageDirectories> 
    </Extension> 
  </Extensions> 
</Package> 

Considérations relatives à la projection

Avant d’utiliser cette fonctionnalité, voici une liste de considérations :

À propos de l’installation Description
Comment installer un package avec la possibilité de projeter ? Les packages doivent être installés via l’API ProvisionPackageForAllUsers
Qui pouvez l’installer (utilisateurs ou administrateurs) ? Administrateur
Où les fichiers peuvent-ils être projetés (emplacement verrouillé ou n’importe où) ? N’importe où en dehors de %pf%\windowsapps ou %pf%\modifiablewindowsapps
Quelles sont les listes de contrôle d’accès sur le répertoire projeté si nous la créons ? Hérité du répertoire parent
Plusieurs packages peuvent-ils déclarer le même répertoire ? Nous n’autorisez pas plusieurs ensembles associés à déclarer le même répertoire. En d’autres termes, s’il existe plusieurs packages déclarant le même répertoire, ils doivent tous provenir du même jeu associé.
Qu’en est-il de plusieurs éditeurs ? Non
Comment les collisions sont-elles gérées ? Les packages et/ou les fichiers préexistants sont fusionnés. Les fichiers en conflit sont résolus dans l’ordre de priorité spécifié ou par ordre alphabétique, si aucun ordre n’est spécifié