패키지 지원 프레임워크

패키지 지원 프레임워크는 소스 코드에 액세스할 수 없을 때 기존 win32 애플리케이션에 수정 사항을 적용하여 MSIX 컨테이너에서 실행하는 데 유용한 오픈 소스 키트입니다. 패키지 지원 프레임워크는 애플리케이션이 최신 런타임 환경의 모범 사례를 수행하는 데 도움이 됩니다.

유용한 패키지 지원 프레임워크를 찾을 수 있는 몇 가지 일반적인 예는 다음과 같습니다.

  • 앱이 시작될 때 일부 DLL을 찾을 수 없습니다. 현재 작업 디렉터리를 설정해야 할 수도 있습니다. MSIX로 변환하기 전에 원래 바로 가기에서 필요한 현재 작업 디렉터리에 대해 알아볼 수 있습니다.
  • 앱은 설치 폴더에 기록됩니다. 일반적으로 프로세스 모니터에서 "액세스 거부" 오류로 표시됩니다.
  • 앱은 시작 시 실행 파일에 매개 변수를 전달해야 합니다. 여기에서 이 문제를 식별하는 방법에 대해 자세히 알아본 다음, 여기에서 사용 가능한 구성에 대해 자세히 알아봅니다.

패키지 지원 프레임워크를 생성하기 위해 MSR(Microsoft Research)에서 개발한 오픈 소스 프레임워크인 Detours 기술을 활용하여 API 리디렉션 및 후크를 지원하였습니다.

이 프레임워크는 경량 오픈 소스이며 애플리케이션 문제를 신속하게 해결하는 데 사용할 수 있습니다. 또한 전세계 지역 사회와 협의하고, 선두에서 투자할 수 있는 기회를 제공합니다.

단계별 지침은 패키지 지원 프레임워크를 사용하여 MSIX 패키지에 런타임 수정 적용을 참조하세요.

패키지 지원 프레임워크 내부 빠르게 살펴보기

패키지 지원 프레임워크에는 실행 파일, 런타임 관리자 DLL 및 런타임 수정 사항 세트가 포함됩니다.

패키지 지원 프레임워크

작동 방식은 다음과 같습니다. 애플리케이션에 적용할 수정 사항을 지정하는 구성 파일을 만듭니다. 그런 다음, PSF(패키지 지원 프레임워크) 시작 관리자 실행 파일을 가리키도록 패키지를 수정합니다.

패키지 지원 프레임워크 시작 관리자는 사용자가 애플리케이션을 시작할 때 실행되는 첫 번째 실행 파일로, 구성 파일을 읽고 런타임 수정 사항과 런타임 관리자 DLL을 애플리케이션 프로세스에 삽입합니다. 런타임 관리자는 애플리케이션이 MSIX 컨테이너 내부에서 실행해야 할 때 수정사항을 적용합니다.

패키지 지원 프레임워크 DLL 삽입

패키지 지원 프레임워크를 사용하여 시작

애플리케이션에 대한 패키지를 만든 후 설치 및 실행하고 해당 동작을 관찰합니다. 호환성 문제를 식별하는 데 도움이 되는 오류 메시지가 표시될 수 있습니다. 프로세스 모니터를 사용하여 문제를 식별할 수도 있습니다.

문제를 찾은 후 문제 해결을 위한 GitHub 페이지를 확인할 수 있습니다. 해결책을 찾으면 패키지에 적용할 수 있습니다. 단계별 가이드에 이 작업을 수행하는 방법이 나와 있습니다. 또한 Visual Studio 디버거를 사용하여 애플리케이션을 단계별로 살펴보고 수정 사항이 작동 중인지, 호환성 문제가 해결되었는지 확인하는 방법도 나와 있습니다.

문제를 해결하는 런타임 수정 사항을 찾을 수 없는 경우에는 새로 만들 수 있습니다. 이를 위해서는 애플리케이션이 MSIX 컨테이너에서 실행될 때 어떤 기능 호출이 실패하는지 식별합니다. 그런 다음, 런타임 관리자가 대신 호출할 대체 함수를 생성할 수 있습니다. 이를 통해 함수의 구현을 최신 런타임 환경의 규칙에 부합하는 동작으로 대체할 수 있습니다.

패키지 지원 프레임워크를 사용하여 사용자 환경에 맞게 애플리케이션을 동적으로 사용자 지정하는 스크립트를 실행할 수도 있습니다. 자세한 내용은 이 문서를 참조하세요.

제한 사항

패키지 지원 프레임워크는 레지스트리 재정의를 지원하지 않습니다. 런타임 문제를 해결하도록 설계되었습니다.

데이터 및 원격 분석

패키지 지원 프레임워크에는 사용 데이터를 수집하여 이를 Microsoft로 보내어 제품 및 서비스를 개선하기 위한 원격 분석이 포함되어 있습니다. 자세한 내용은 Microsoft의 개인정보처리방침을 참조하세요. 그러나 데이터는 다음 조건을 모두 충족하는 경우에만 수집됩니다.

  • 패키지 지원 프레임워크 이진 파일은 Windows 10 컴퓨터의 NuGet 패키지에서 사용됩니다.
  • 사용자가 컴퓨터에서 데이터 수집을 활성화했습니다.

NuGet 패키지에는 서명된 이진 파일이 포함되어 있으며 컴퓨터의 사용 현황 데이터를 수집합니다. 리포지토리를 복제하거나 이진 파일을 직접 다운로드하여 이진 파일을 로컬로 빌드하면 원격 분석이 수집되지 않습니다.