Erstellen eines Verzeichnisses an einem beliebigen Speicherort basierend auf dem gepackten App-Verzeichnis

Um bestimmte Anforderungen zu erfüllen, erfordern Apps möglicherweise, dass die Dateien in ihrem vorhandenen Installationsverzeichnis angezeigt werden. Beispiel: Wenn eine bestimmte App eine Datei in einem Ordner erwartet hat, z. B. C:\Programme\Contoso; Dieses Verzeichnis kann von den Administratoren geändert werden. Ab Windows 11 können Apps ein Verzeichnis außerhalb des WindowsApps-Verzeichnisses angeben, und das Betriebssystem stellt sicher, dass Dateien an diesem Speicherort mit den richtigen ACLs angezeigt werden, die vom übergeordneten Verzeichnis geerbt wurden.

Deklarieren des Speicherorts des Verzeichnisses im Manifest

Um dieses Feature zu aktivieren, muss das Paket deklarieren, wohin die Dateien im Paket projiziert werden sollen. Im Folgenden finden Sie ein Beispiel.

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

Überlegungen zur Projektion

Bevor Sie dieses Feature verwenden, finden Sie hier eine Liste der Überlegungen:

Überlegungen Beschreibung
Wie installiere ich ein Paket mit der Möglichkeit zum Pro projecten? Pakete müssen über die ProvisionPackageForAllUsers-API installiert werden.
Wer können sie installieren (Benutzer oder Administratoren)? Admin
Wo können die Dateien projiziert werden (gesperrter Speicherort oder überhaupt an einer beliebigen Stelle)? An einer beliebigen Stelle neben %pf%\windowsapps oder %pf%\modifiablewindowsapps
Welche ACLs befinden sich im projizierten Verzeichnis, wenn wir es erstellen? Geerbt vom übergeordneten Verzeichnis
Können mehrere Pakete dasselbe Verzeichnis deklarieren? Es ist nicht zulässig, dass mehr als ein verknüpfter Satz das gleiche Verzeichnis deklariert. Anders ausgedrückt: Wenn mehrere Pakete dasselbe Verzeichnis deklarieren, müssen sie alle aus demselben verknüpften Satz stammen.
Was ist mit mehreren Herausgebern? Nein
Wie werden Konflikte behandelt? Pakete und/oder bereits vorhandene Dateien werden zusammengeführt. In Konflikt stehende Dateien werden in der angegebenen Prioritätsreihenfolge oder alphabetisch im Paketnamen aufgelöst, wenn keine Reihenfolge angegeben ist.