Share via


로컬로 앱 패키지 공유(Windows 스토어 앱)

Windows 스토어 응용 프로그램을 개발한 후 한 대 이상의 로컬 컴퓨터에 설치하여 사용자 또는 다른 사용자가 해당 응용 프로그램을 테스트할 수 있습니다. 다른 컴퓨터에 Windows 스토어 응용 프로그램을 설치하려면 먼저 응용 프로그램 패키지를 만든 다음 Windows PowerShell 스크립트를 실행해야 합니다.

응용 프로그램 패키지 만들기

응용 프로그램을 설치하려면 먼저 응용 프로그램 패키지를 만들어야 합니다. 패키지를 만드는 방법에 대한 자세한 내용은 Creating an app package를 참조하십시오.

만든 응용 프로그램 패키지는 패키지 위치에 대해 지정한 출력 폴더에 배치되고 PackageName_Test라는 이름이 지정됩니다. 폴더에는 .appx 파일, 보안 인증서, Windows PowerShell 스크립트 및 기타 파일이 포함되어 있습니다.

테스트를 위해 응용 프로그램 패키지 설치

  1. Visual Studio 출력 디렉터리에서 .appx 파일과 함께 Add-AppDevPackage PowerShell 스크립트를 찾습니다.

  2. Add-AppDevPackage.ps1 파일의 바로 가기 메뉴에서 PowerShell에서 실행을 선택합니다.

    중요

    로컬 컴퓨터에서 Administrators 보안 그룹의 멤버이지만 Add-AppDevPackage.ps1 파일이 있는 네트워크 공유에 액세스할 수 있는 권한이 없는 경우 스크립트 파일이 없다는 오류 메시지가 나타날 수 있습니다. 액세스 문제를 해결하려면 스크립트를 실행하기 전에 출력 폴더의 내용을 로컬 컴퓨터에 복사합니다.

    이 스크립트는 다음 단계를 수행합니다.

    1. 스크립트가 설치할 인증서에 대한 정보를 표시합니다. 스크립트는 로컬 컴퓨터에 대한 실행 정책 변경의 위험에 대한 경고 메시지도 표시합니다. 실행 정책은 신뢰하지 않는 스크립트로부터 보호하는 데 도움이 됩니다. 실행 정책을 변경하는 경우 about_Execution_Policies에서 설명하는 보안 위험에 노출될 수 있습니다.

      참고

      바로 가기 메뉴를 사용하는 대신 PowerShell에서 직접 스크립트를 실행한 경우 실행 변경 위험에 대한 경고가 나타나지 않고 스크립트가 실패합니다. 이 문제를 해결하려면 실행 정책을 수동으로 변경한 다음 스크립트를 다시 실행합니다.

      Y를 입력하여 실행 정책을 변경하고자 함을 확인해야 합니다. N을 입력하면 이 작업을 건너뛰고 다음 작업으로 이동합니다. S를 입력하는 경우 현재 파이프라인을 일시 중지하고 명령 프롬프트로 돌아옵니다. exit를 입력하면 파이프라인이 다시 시작됩니다.

    2. 개발자 라이선스가 있는지 확인합니다. 스크립트가 개발자 라이선스를 찾지 못하거나 현재 라이선스가 만료되었으면 하나를 얻으라는 메시지가 표시됩니다.

      개발자 라이선스를 얻으려면 Microsoft 계정이 있어야 합니다. 자세한 내용은 Get a developer license (Windows Store apps)를 참조하십시오.

    3. 응용 프로그램 패키지와 필요한 인증서가 있는지 확인합니다. 항목이 없는 경우 이 개발자 패키지가 설치되기 전에 없는 항목을 설치할지 묻는 메시지가 표시됩니다. 예를 들어 개발자 인증서가 로컬 컴퓨터에 없는 경우 개발자 인증서를 설치하라는 메시지가 표시됩니다. 또한 컴퓨터의 신뢰된 사용자 인증서 저장소에 디지털 인증서를 설치하면 심각한 보안 위험이 생기고 디지털 인증서의 작성자를 신뢰하는 경우에만 디지털 인증서를 설치해야 한다는 경고도 표시됩니다. 이 응용 프로그램의 사용을 마친 경우 연결된 디지털 인증서를 컴퓨터의 신뢰된 사용자 인증서 저장소에서 수동으로 제거해야 합니다. 인증서를 제거하는 방법은 How to use the Certificates Console을 참조하십시오. 계속할지 여부를 확인해야 합니다.

      서명 인증서에는 다음 값이 포함되어야 합니다.

      • 확장된 키 사용: 코드 서명(필수)

      • 기본 제약 조건: 주체 종류=최종 엔터티(필수)

      • 영구 서명 EKU(선택 사항)

      다른 모든 EKU는 인증서를 무효화합니다. 스크립트가 필요한 값을 찾지 못하면 오류가 나타납니다.

    4. 필요한 종속성 패키지가 있는지 확인합니다.

    5. 종속성 패키지를 설치한 다음 응용 프로그램 패키지를 설치합니다.

      응용 프로그램 패키지가 설치되었을 때 "개발자 패키지가 성공적으로 설치되었습니다."가 표시됩니다.

  3. 시작 화면에서 응용 프로그램의 이름을 표시하는 타일을 선택합니다.

    응용 프로그램이 시작됩니다.

보안 정보보안 정보

PowerShell 스크립트가 실행되지 않고 해당 이유를 보여 주는 오류 메시지가 없는 경우 컴퓨터의 UAC(사용자 액세스 제어)가 변경되었을 수 있습니다. 기본 UAC 설정은 앱에서 사용자 모르게 컴퓨터를 변경하려는 경우에만 알림(기본값)이지만 이 설정이 알리지 않음으로 변경되었을 수 있습니다. 표준 사용자 계정을 사용하여 UAC가 알리지 않음으로 설정된 컴퓨터에 로그온한 경우 관리자 권한이 필요한 모든 변경 내용은 자동으로 거부됩니다. 이런 경우 PowerShell 스크립트가 시작되기는 하지만 관리자 권한이 있어야 계속 진행될 수 있습니다. UAC 대화 상자는 표시되지 않으며 Windows는 자동으로 스크립트 변경을 방지합니다. 이 문제를 해결하려면 UAC 설정을 변경하거나 관리자로 스크립트를 실행하십시오.

Add-AppDevPackage.ps1 PowerShell 스크립트를 실행하면 Visual Studio는 Get-AuthenticodeSignature 함수를 사용하여 Visual Studio 인증 기관 테스트 테스트 서명 인증서를 설치할지 여부를 결정합니다. 테스트 서명 인증서가 이미 인증서 – 현재 사용자 > 신뢰할 수 있는 루트 인증 기관 > 인증서 노드에 설치되어 있는 경우 이 함수는 서명이 유효함을 나타내는 값을 반환합니다. 하지만 Windows는 해당 인증서를 신뢰하지 않으므로 패키지는 배포되지 않습니다. Windows의 신뢰를 받으려면 인증서가 인증서(로컬 컴퓨터) > 신뢰할 수 있는 루트 인증 기관 > 인증서 노드 또는 인증서(로컬 컴퓨터) > 신뢰된 사용자 > 인증서 노드에 있어야 합니다. 이 두 위치에 있는 인증서만 로컬 컴퓨터의 컨텍스트에서 인증서 신뢰의 유효성을 인정받을 수 있습니다. 그렇지 않으면 “Add-AppxPackage : 배포에 실패했습니다. HRESULT: 0x800B0109, 인증서 체인은 처리되었지만, 신뢰 공급자에 의해 신뢰되지 않는 루트 인증서에서 중지되었습니다. (예외가 발생한 HRESULT: 0x800B0109)오류 0x800B0109: 응용 프로그램 패키지에 있는 서명의 루트 인증서는 신뢰되어야 합니다.”와 유사한 오류 메시지가 나타납니다. 이 오류가 나타나면 테스트 서명 인증서를 위에서 설명한 두 인증서(로컬 컴퓨터) 노드로 이동하십시오. 인증서를 이동하는 방법은 How to use the Certificates Console을 참조하십시오.

참고 항목

개념

앱 패키지에 서명(Windows 스토어 앱)

명령 프롬프트에서 앱 패키지 빌드(Windows 스토어 앱)