패키지 된 앱 디렉터리를 기반으로 하는 모든 위치에 디렉터리 만들기

특정 요구 사항을 충족 하기 위해 앱은 파일을 기존 설치 디렉터리에 표시 해야 할 수 있습니다. 예를 들어 특정 앱이 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를 통해 설치 해야 합니다.
설치할 수 Who (사용자 또는 관리자)? Admin
파일을 프로젝션 할 수 있는 위치 (잠긴 위치 또는 모든 위치) %Pf%\windowsapps 또는%pf%\modifiablewindowsapps 외의 모든 위치
프로젝션 된 디렉터리에 대 한 Acl은 무엇 인가요? 부모 디렉터리에서 상속 됨
둘 이상의 패키지에서 동일한 디렉터리를 선언할 수 있나요? 동일한 디렉터리를 선언 하는 데 둘 이상의 관련 집합을 허용 하지 않습니다. 즉, 동일한 디렉터리를 선언 하는 패키지가 여러 개 있는 경우 모두 동일한 관련 집합에 속해야 합니다.
둘 이상의 게시자는 어떻습니까?
충돌은 어떻게 처리 되나요? 패키지 및/또는 기존 파일이 병합 됩니다. 지정 된 우선 순위에 따라 충돌 하는 파일이 확인 됩니다.