Создание каталога в любом расположении на основе упаковаемого каталога приложения
Чтобы удовлетворить определенные требования, приложения могут требовать, чтобы файлы отображались в существующем каталоге установки. Например, если определенное приложение ожидало файл в папке, например C:\Program Files\Contoso; этот каталог можно изменить администраторами. Начиная с Windows 11, приложения могут указать каталог вне каталога WindowsApps, а ОС обеспечит, что файлы будут отображаться в этом расположении с соответствующими списками управления доступом, унаследованными от родительского каталога.
Объявление расположения каталога в манифесте
Чтобы включить эту функцию, пакету потребуется объявить, куда проектировать файлы в пакете. Ниже приведен пример.
<Package...>
<Extensions>
<desktop8:Extension Category="windows.MutablePackageDirectories">
<desktop8:MutablePackageDirectories>
<desktop8:MutablePackageDirectory target="$(package.volumeroot)\Program Files\<Folder>" Shared=”true”>
</desktop8:MutablePackageDirectories>
</Extension>
</Extensions>
</Package>
Рекомендации по проекции
Прежде чем использовать эту функцию, ниже приведен список рекомендаций.
Рекомендации | Description |
---|---|
Как установить пакет с возможностью проецировать? | Пакеты должны устанавливаться через API ProvisionPackageForAllUsers |
Кто его можно установить (пользователи или администраторы)? | Администрирование |
Где можно проецировать файлы (заблокированное расположение или где угодно)? | В любом месте, кроме %pf%\windowsapps или %pf%\modifiablewindowsapps |
Что такое списки управления доступом в проецируемом каталоге, если мы создадим его? | Наследуется от родительского каталога |
Может ли несколько пакетов объявить один каталог? | Мы не разрешаем объявлять один и тот же каталог с несколькими связанными наборами. Другими словами, если существует несколько пакетов, объявляющих один и тот же каталог, все они должны быть из одного связанного набора. |
Что касается нескольких издателей? | No |
Как обрабатываются столкновения? | Пакеты и(или) предварительно существующие файлы объединяются. Конфликтующие файлы разрешаются в указанном порядке приоритета или в алфавитном порядке, если порядок не указан. |