Udostępnij przez


Tworzenie katalogu w dowolnej lokalizacji na podstawie spakowanego katalogu aplikacji

Aby spełnić pewne wymagania, aplikacje mogą wymagać, aby pliki pojawiły się w istniejącym katalogu instalacyjnym. Jeśli na przykład określona aplikacja oczekiwała pliku w folderze, na przykład C:\Program Files\Contoso; ten katalog może być modyfikowany przez administratorów. Począwszy od systemu Windows 11, aplikacje mogą określić katalog poza katalogiem WindowsApps, a system operacyjny zapewni, że pliki pojawią się w tym miejscu z odpowiednimi listami kontroli dostępu (ACL) dziedziczonymi z katalogu nadrzędnego.

Deklarowanie lokalizacji katalogu w manifeście

Aby włączyć tę funkcję, pakiet musi zadeklarować miejsce w pakiecie, w którym mają być umieszczone pliki. Poniżej znajduje się przykład

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

Zagadnienia dotyczące projekcji

Przed użyciem tej funkcji poniżej przedstawiono listę zagadnień:

Rozważania Opis
Jak zainstalować pakiet z możliwością projekcji? Pakiety muszą być instalowane za pomocą interfejsu API ProvisionPackageForAllUsers
Kto może go zainstalować (użytkowników lub administratorów)? Administracja
Gdzie można wyświetlać pliki (lokalizację zablokowaną lub w dowolnym miejscu)? Dowolne miejsce oprócz %pf%\windowsapps lub %pf%\modifiablewindowsapps
Jakie będą listy ACL w planowanym katalogu, jeśli go utworzymy? Dziedziczone z katalogu nadrzędnego
Czy więcej niż jeden pakiet może zadeklarować ten sam katalog? Nie zezwalamy na zadeklarowanie tego samego katalogu przez więcej niż jeden powiązany zestaw. Innymi słowy, jeśli istnieje wiele pakietów deklarujących ten sam katalog, wszystkie muszą pochodzić z tego samego powiązanego zestawu.
Co z więcej niż jednym wydawcą? Nie.
W jaki sposób są obsługiwane kolizje? Pakiety i/lub istniejące pliki są scalane. Pliki powodujące konflikt są rozwiązywane w określonej kolejności priorytetu lub alfabetycznie, jeśli nie określono kolejności