패키지된 앱 디렉터리를 기반으로 모든 위치에 디렉터리 만들기
특정 요구 사항을 충족하기 위해 앱은 기존 설치 디렉터리에 파일을 표시해야 할 수 있습니다. 예를 들어 특정 앱이 C:\Program Files\Contoso와 같은 폴더에 파일을 예상하는 경우 관리자가 해당 디렉터리를 수정할 수 있습니다. Windows 11부터 앱은 WindowsApps 디렉터리 외부의 디렉터리를 지정할 수 있으며 OS는 상위 디렉터리에서 상속된 적절한 ACL을 사용하여 파일이 해당 위치에 표시되도록 합니다.
매니페스트에서 디렉터리의 위치 선언
이 기능을 사용하려면 패키지에서 패키지의 파일을 프로젝스할 위치를 선언해야 합니다. 다음은
<Package...>
<Extensions>
<desktop8:Extension Category="windows.MutablePackageDirectories">
<desktop8:MutablePackageDirectories>
<desktop8:MutablePackageDirectory target="$(package.volumeroot)\Program Files\<Folder>" Shared=”true”>
</desktop8:MutablePackageDirectories>
</Extension>
</Extensions>
</Package>
프로젝션에 대한 고려 사항
이 기능을 사용하기 전에 고려 사항 목록은 다음과 같습니다.
고려 사항 | 설명 |
---|---|
프로젝스 기능을 사용하여 패키지를 설치하는 방법 | ProvisionPackageForAllUsers API를 통해 패키지를 설치해야 합니다. |
누가 설치할 수 있나요(사용자 또는 관리자)? | 관리자 |
파일을 어디에 프로젝스할 수 있나요(잠긴 위치 또는 모든 위치)? | %pf%\windowsapps 또는 %pf%\modifiablewindowsapps 이외의 위치 |
프로젝토리를 만드는 경우 프로젝토리의 ACL은 무엇인가요? | 부모 디렉터리에서 상속됨 |
둘 이상의 패키지가 동일한 디렉터리를 선언할 수 있나요? | 둘 이상의 관련 집합이 동일한 디렉터리를 선언하는 것을 허용하지 않습니다. 즉, 동일한 디렉터리를 선언하는 여러 패키지가 있는 경우 모두 동일한 관련 집합에 있어야 합니다. |
둘 이상의 게시자는 어떻습니까? | 아니요 |
충돌은 어떻게 처리합니까? | 패키지 및/또는 기존 파일이 병합됩니다. 충돌하는 파일은 지정된 우선 순위 순서로 확인되거나 지정된 순서가 없는 경우 패키지 이름을 사전순으로 확인합니다. |