앱 패키징
콘텐츠의 테이블 축소
콘텐츠의 테이블 확장

Windows 10용 유니버설 Windows 앱 패키징

 

유니버설 Windows 앱을 판매하거나 다른 사용자에게 배포하려면 appxupload 패키지를 만들어야 합니다. appxupload를 만들 때 테스트 및 테스트용 로드에 사용할 다른 appx 패키지가 생성됩니다. 이 appx 패키지를 장치에 테스트용으로 로드하여 앱을 직접 배포할 수 있습니다. (테스트용 로드란?).

Windows 10에서는 Windows 스토어에 업로드할 수 있는 패키지 하나(.appxupload)를 생성합니다. 그러고 나서 앱을 Windows 10 장치에서 설치 및 실행할 수 있습니다.

Windows 8.1 앱용 앱 패키지를 만들어야 하면 여기로 이동합니다.

단계는 다음과 같습니다.

  1. 앱을 패키지하기 전에: 다음 단계에 따라 응용 프로그램이 저장소 제출용으로 패키지할 준비가 되었는지 확인합니다.

  2. 앱 패키지 구성: 매니페스트 디자이너를 사용하여 패키지를 구성합니다. 예를 들어 타일 이미지를 추가하고 앱에서 지원하는 방향을 선택합니다.

  3. 앱 패키지 만들기: Visual Studio에서 마법사를 사용한 다음 Windows 앱 인증 키트를 사용하여 패키지를 인증합니다.

  4. 앱 패키지를 테스트용으로 로드: 장치에 앱을 테스트용으로 로드한 후 앱이 올바르게 작동하는지 테스트할 수 있습니다.

이 작업을 수행하면 스토어에서 앱을 판매할 준비가 됩니다. 내부 사용자용이기 때문에 판매하지 않으려는 LOB(기간 업무) 앱이 있는 경우 앱을 테스트용으로 로드하여 모든 Windows 10 장치에 설치할 수 있습니다.

  1. 앱 테스트: 저장소 제출용으로 앱을 패키지하기 전에 지원하려는 모든 장치 패밀리에서 예상대로 작동하는지 확인합니다. 이들 장치 패밀리에는 데스크톱, 모바일, Surface Hub, XBOX, IoT 장치 등이 포함될 수 있습니다.

  2. 앱 최적화: Visual Studio의 프로파일링 및 디버깅 도구를 사용하여 유니버설 Windows 앱이 성능을 최적화할 수 있습니다. 예를 들면 UI 응답성용 타임라인 도구, 메모리 사용 도구, CPU 사용 도구 등이 있습니다.여기에서 알아보세요.

  3. .NET 네이티브 호환성 확인(VB 및 C# 앱 대상): 이제 유니버설 Windows 플랫폼에는 앱의 런타임 성능을 향상할 새로운 기본 컴파일러가 있습니다. 이 변경을 기반으로 이 컴파일 환경에서 앱을 테스트하는 것이 좋습니다. 기본적으로 릴리스 빌드 구성을 통해 .NET 네이티브 도구 체인을 사용할 수 있으므로 이 릴리스 구성을 사용하여 앱을 테스트하고 앱이 예상대로 동작하는지 확인해야 합니다. .NET 네이티브에서 발생할 수 있는 몇몇 일반적인 디버깅 문제는 여기에서 자세히 설명합니다.

앱 매니페스트 파일(package.appxmanifest.xml)에는 앱 패키지를 만드는 데 필요한 속성 및 설정이 있습니다. 예를 들어 매니페스트 파일의 속성은 앱의 타일로 사용할 이미지 및 사용자가 장치를 회전할 때 앱이 지원하는 방향을 설명합니다.

Visual Studio에는 파일의 원시 XML을 편집하지 않고도 손쉽게 매니페스트 파일을 업데이트할 수 있는 매니페스트 디자이너가 있습니다.

Visual Studio에서 패키지를 스토어와 연결할 수 있습니다. 이 작업을 수행하면 매니페스트 디자이너의 패키징 탭의 일부 필드가 자동으로 업데이트됩니다.내 패키지를 스토어에 연결하려면 어떻게 하나요?

매니페스트 디자이너를 사용하여 패키지 구성

  1. 솔루션 탐색기에서 유니버설 Windows 앱의 프로젝트 노드를 확장합니다.

  2. Package.appxmanifest 파일을 두 번 클릭합니다.

    XML 코드 뷰에 매니페스트 파일이 이미 열려 있으면 Visual Studio가 파일을 닫으라는 메시지를 표시합니다.

  3. 이제 앱을 구성하는 방법을 결정할 수 있습니다. 각 탭에는 앱에 대해 구성할 수 있는 정보와 필요한 경우 추가 정보에 대한 링크가 들어 있습니다.

    패키지 매니페스트 파일 두 번 클릭

    시각적 자산 탭에서 유니버설 Windows 앱에 필요한 모든 이미지를 확인합니다.Windows 10 장치에 대한 여러 화면 해상도를 모두 처리하는 이미지를 만들려면 어떻게 해야 하나요?

    패키징 탭에서 게시 데이터를 입력할 수 있습니다. 여기에서 앱을 서명하는데 사용할 인증서를 선택할 수 있습니다. 모든 유니버설 Windows 앱은 인증서를 사용하여 서명해야 합니다. 앱 패키지를 테스트용으로 로드하려면 패키지를 신뢰해야 합니다. 인증서는 패키지를 신뢰하는 해당 장치에 설치해야 합니다.Windows 10 장치에 테스트용으로 로드에 대해 자세히 알아보세요.

  4. 앱에 필요한 편집을 수행한 후 파일을 저장합니다.

스토어를 통해 앱을 배포하려면 appxupload 패키지를 만들어야 합니다. 이 작업은 앱 패키지 만들기 마법사를 사용하여 수행할 수 있습니다. 다음 단계에 따라 Visual Studio 2015를 사용하여 스토어 제출용 패키지를 만듭니다.

앱 패키지를 만들려면

  1. 솔루션 탐색기에서 유니버설 Windows 앱 프로젝트에 대한 솔루션을 엽니다.

  2. 프로젝트를 마우스 오른쪽 단추로 클릭하고 스토어 -> 앱 패키지 만들기를 선택합니다. 이 옵션을 사용할 수 없거나 표시되지 않는 경우 해당 프로젝트가 유니버설 Windows 프로젝트인지 확인합니다.

    상황에 맞는 메뉴에서 저장소->앱 패키지 만들기 클릭

    앱 패키지 만들기 마법사가 표시됩니다.

  3. Windows 스토어에 업로드할 패키지를 빌드하려면 첫 번째 대화 상자에서 예를 선택하고 다음을 클릭합니다.

    예를 선택하여 저장소에 대 한 앱 패키지 만들기

    여기에서 아니요를 선택하면 Visual Studio에서는 스토어 제출용으로 필요한 .appxupload 패키지를 생성하지 않습니다. 앱을 테스트용으로 로드하여 내부 장치에서만 실행하려는 경우 이 옵션을 선택합니다.Windows 10에서 테스트용 로드를 위해 장치를 설정하는 방법을 알아보세요.

  4. 개발자 계정으로 Windows 개발자 센터에 로그인합니다. (아직 개발자 계정이 없는 경우 마법사를 통해 계정을 만들 수 있습니다.)

  5. 패키지의 앱 이름을 선택하거나 Windows 개발자 센터 포털에서 미리 예약된 이름이 없으면 새 이름을 예약합니다.

    Select the name to associate with your package
  6. 패키지 선택 및 구성 대화 상자에서 모든 세 가지 아키텍처 구성(x86, x64 및 ARM)을 선택해야 합니다. 이 방법으로 앱을 가장 다양한 장치에 배포할 수 있습니다.앱 번들 생성 목록 상자에서 항상을 선택합니다. 이렇게 하면 업로드할 파일(.appxupload)이 하나만 있게 되므로 스토어 제출 프로세스가 훨씬 더 간단해집니다. 단일 번들에는 각 프로세서 아키텍처와 함께 장치에 배포하는 데 필요한 패키지가 모두 포함됩니다.

    Choose all architectures so app can run everywhere
  7. Windows 개발자 센터에서 가장 적합한 충돌 분석 환경을 제공하도록 전체 PDB 기호 파일을 포함하는 것이 좋습니다.여기에서 기호를 사용한 디버깅에 대해 자세히 알아볼 수 있습니다.

  8. 이제 세부 정보를 구성하여 패키지를 만들 수 있습니다. 앱을 게시할 준비가 되면 출력 위치에서 패키지를 업로드합니다.

  9. 만들기를 클릭하여 appxupload 패키지를 만듭니다.

  10. 이제 다음 대화 상자가 표시됩니다.

    패키지가 생성되었습니다.

    로컬 또는 원격 컴퓨터에서 인증을 위해 스토어에 제출하기 전에 앱의 유효성을 검사합니다. (앱 패키지의 릴리스 빌드에 대해서 유효성 검사만 할 수 있으며 빌드를 디버그할 수는 없습니다.)

  11. 로컬로 유효성을 검사하려면 로컬 컴퓨터 옵션을 선택한 채로 Windows 앱 인증 키트 시작을 클릭합니다.Windows 앱 인증 키트를 사용하여 앱을 테스트하는 방법에 대해 알아보세요.

    Windows 앱 인증 키트는 테스트를 수행하여 결과를 보여줍니다.Windows 앱 인증 키트 테스트를 참조하세요.

    원격 Windows 10 장치가 있고 이 장치를 테스트에 사용하려는 경우 해당 장치에 Windows 앱 인증 키트를 수동으로 설치해야 합니다. 다음 섹션에서는 이러한 단계를 안내합니다. 설치한 후 원격 컴퓨터를 선택하고 Windows 앱 인증 키트 시작을 클릭하여 원격 장치에 연결하고 유효성 검사 테스트를 실행합니다.

  12. WACK가 완료되고 앱이 전달된 후에는 스토어에 업로드할 준비가 됩니다. 올바른 파일을 업로드해야 합니다. \[AppName]\AppPackages 솔루션의 루트 폴더에서 찾을 수 있고 .appxupload 파일 확장명으로 끝납니다. 이름은 [AppName]_[AppVersion]_x86_x64_arm_bundle.appxupload 형식입니다.

원격 Windows 10 장치에서 앱 패키지 유효성 검사

  1. 이러한 지침을 사용하여 Windows 10 장치를 개발에 사용하도록 설정하세요.

    System_CAPS_important중요

    Windows 10용 원격 ARM 장치에서는 앱 패키지의 유효성을 검사할 수 없습니다.

  2. Visual Studio용 원격 도구를 다운로드 및 설치합니다. 이러한 도구는 Windows 앱 인증 키트를 원격으로 실행하는 데 사용됩니다.

    여기에 설명된 대로 원격 디버그 모니터를 시작합니다.

  3. 필요한 버전의 Windows 앱 인증 키트를 다운로드한 다음 원격 Windows 10 장치에 설치합니다.

  4. 마법사의 패키지 만들기 완료 페이지에서 원격 컴퓨터 옵션 단추를 선택한 다음 연결 테스트 단추 옆의 줄임표 단추를 선택합니다.

    System_CAPS_note참고

    원격 컴퓨터 옵션 단추는 유효성 검사를 지원하는 솔루션 구성을 하나 이상 선택한 경우에만 사용 가능합니다.Windows 앱 인증 키트를 사용하여 앱을 테스트하는 방법에 대해 알아보세요.

  5. 서브넷에 있는 장치를 지정하거나 서브넷 외부에 있는 장치의 서버 DNS(Domain Name Service) 이름 또는 IP 주소를 제공합니다.

  6. 장치에서 Windows 자격 증명을 사용하여 로그온하지 않아도 되는 경우, 인증 모드 목록에서 없음을 선택합니다.

  7. 선택 단추를 선택한 다음 Windows 앱 인증 키트 시작 단추를 선택합니다.

    이 장치에서 원격 도구가 실행 중인 경우 Visual Studio에서 이 장치에 연결한 다음 유효성 검사 테스트를 수행합니다.Windows 앱 인증 키트 테스트를 참조하세요.

유니버설 Windows 앱 패키지는 데스크톱 앱처럼 장치에 앱을 설치할 수 없습니다. 일반적으로 스토어에서 이러한 앱을 다운로드하여 장치에 설치합니다. 하지만 스토어에 제출하지 않고 장치에 앱을 테스트용으로 로드할 수 있습니다. 그러면 사용자가 만든 앱 패키지(.appx)를 사용하여 앱을 설치하고 테스트할 수 있습니다. LOB(기간 업무) 앱처럼 스토어에서 판매하지 않으려는 앱이 있는 경우 회사의 다른 사용자가 사용할 수 있도록 해당 앱을 테스트용으로 로드할 수 있습니다.

Windows 10 장치에 앱 패키지를 테스트용으로 로드하려면 다음 단계를 따르세요.

  • 장치 사용 

  • 데스크톱, 노트북 또는 태블릿에 앱을 설치하려면 아래 섹션의 단계를 따릅니다.

    Windows 10 Mobile 장치에 앱을 설치하려면 WinAppDeployCmd.exe를 사용합니다.

앱을 테스트용으로 로드하고 테스트한 후 패키지를 업로드하여 스토어에서 판매하거나 Windows 10 장치에 앱을 테스트용으로 로드할 수 있습니다. 회사의 다른 사용자에게 LOB(기간 업무) 앱을 테스트용으로 로드하는 방법에 대해 알아보세요.

  1. 설치하려는 버전의 폴더를 대상 장치에 복사합니다.

    앱 번들을 만든 경우 버전 번호에 따른 폴더와 _test 폴더가 생성됩니다. 예를 들어 다음과 같은 두 폴더가 생성됩니다(설치하려는 버전은 1.0.2).

    • C:\Projects\MyApp\MyApp\AppPackages\MyApp_1.0.2.0

    • C:\Projects\MyApp\MyApp\AppPackages\MyApp_1.0.2.0_Test

    앱 번들이 없는 경우 올바른 아키텍처에 대한 폴더와 해당 테스트 폴더를 복사합니다. 예를 들어 다음과 같은 두 폴더입니다.

    • C:\Projects\MyApp\MyApp\AppPackages\MyApp_1.0.2.0_x64

    • C:\Projects\MyApp\MyApp\AppPackages\MyApp_1.0.2.0_x64_Test

  2. 대상 장치에서 테스트 폴더를 엽니다. 예: C:\Projects\MyApp\MyApp\AppPackages\MyApp_1.0.2.0_Test

  3. Add-AppDevPackage.ps1 파일을 마우스 오른쪽 단추로 클릭한 다음 PowerShell에서 실행을 선택하고 화면에 표시되는 메시지를 따릅니다.

    .appx 파일에 대한 상황에 맞는 메뉴 열기

    앱 패키지가 설치되면 PowerShell 창에 앱이 설치되었다는 메시지가 표시됩니다.

    System_CAPS_note참고

    태블릿에서 바로 가기 메뉴를 열려면 마우스 오른쪽 단추를 클릭하려는 화면을 터치하고 전체 원이 나타날 때까지 기다린 후 손가락을 뗍니다. 손가락을 떼면 바로 가기 메뉴가 나타납니다.

  4. 시작 단추를 클릭한 다음 앱의 이름을 입력하여 실행합니다.

A:프로젝트 메뉴에서 스토어 -> 개발자 계정 열기를 선택합니다. 이렇게 하면 스토어 앱용 개발자 센터가 열립니다. 여기에서 스토어로 앱을 업로드하는 데 필요한 개발 계정을 만들 수 있습니다.앱 개발자 계약에 대해 자세히 알아보세요.

A:프로젝트 메뉴에서 스토어 -> 응용 프로그램 이름 예약을 선택합니다.스토어에 로그인합니다. 자격 증명이 확인되면 앱의 이름을 예약할 수 있습니다.스토어가 응용 프로그램 제출을 위해 열려 있는 경우 1년 동안 응용 프로그램 이름을 예약할 수 있습니다. 1년 안에 응용 프로그램을 제출하지 않으면 예약이 만료되고 다른 개발자가 해당 이름을 예약할 수 있습니다.앱 이름 지정 및 설명에 대해 자세히 알아보세요.

A:프로젝트 메뉴에서 스토어 -> 응용 프로그램을 스토어에 연결을 선택합니다. 이 작업을 수행하는 경우 앱에서 구매 및 알림 시나리오를 테스트할 수 있습니다. 앱을 스토어에 연결하는 경우 로컬 컴퓨터의 현재 프로젝트에 대한 다음 값이 앱 매니페스트 파일로 다운로드됩니다.

  • 패키지 표시 이름

  • 패키지 이름

  • 게시자 ID

  • 게시자 표시 이름

  • 버전

매니페스트의 사용자 지정 .xml 파일을 만들어 기본 package.appxmanifest 파일을 재정의하는 경우 앱을 스토어에 연결할 수 없습니다. 사용자 지정 매니페스트 파일을 스토어에 연결하려고 하면 오류 메시지가 나타납니다.

A:프로젝트 메뉴에서 스토어 -> 스크린샷 캡처를 선택합니다. 그러면 현재 프로젝트가 빌드되고 시뮬레이터에서 앱이 시작됩니다. 시뮬레이터가 열리면 시뮬레이터 세로 막대에서 스크린샷 복사 단추를 선택합니다.

A:프로젝트 메뉴에서 스토어 -> 앱 패키지 업로드를 선택합니다.스토어에 로그인합니다. 자격 증명이 확인되면 대시보드가 열립니다. 응용 프로그램의 이름을 예약한 경우 이 도구를 사용하여 기존 릴리스를 편집합니다. 이름을 예약하지 않은 경우에는 새 응용 프로그램 제출을 선택한 다음 화면의 지시를 따릅니다.

A: PowerShell 스크립트가 들어 있는 폴더를 열어 앱 패키지를 설치합니다. 예를 들어, C:\Projects\MyApp\MyApp\AppPackages\MyApp_1.0.6.0_Test을 입력합니다.

  1. 폴더에서 인증서 파일을 두 번 클릭한 다음 인증서 설치를 클릭합니다. 그러면 인증서 가져오기 마법사가 표시됩니다.

  2. 저장소 위치 그룹에서 라디오 단추를 탭하여 선택된 옵션을 로컬 컴퓨터로 변경합니다.

  3. 다음을 클릭합니다.

  4. 확인을 탭하여 UAC 대화 상자를 확인합니다.

  5. 인증서 가져오기 마법사의 다음 화면에서 선택된 옵션을 모든 인증서를 다음 저장소에 저장으로 변경합니다.

  6. 찾아보기 단추를 탭합니다. 인증서 저장소 선택 팝업 창에서 아래로 스크롤하여 신뢰할 수 있는 사용자를 선택하고 확인을 탭합니다.

  7. 다음 단추를 탭하면 새 화면이 나타납니다. 마침 단추를 탭합니다.

  8. PowerShell에 대한 add-appxpackage cmdlet 세부 정보를 사용합니다.

A: 사용자가 필요한 자산만 다운로드하기 때문에 앱 번들을 사용하면 더 빠르게 다운로드할 수 있습니다. 앱에 언어별 리소스, 다양한 이미지 배율 또는 특정 버전의 DirectX에 적용되는 리소스가 포함되어 있는 경우 앱 번들을 만들어야 합니다. 앱 번들을 생성하지 않아도 앱은 제대로 실행되지만 사용자가 다운로드해야 하는 앱 크기가 커집니다.앱 번들에 대해 자세히 알아보세요.

한 앱 번들에 모든 아키텍처에 대한 사용자 패키지를 포함할 수 있으므로 앱당 번들이 하나만 필요합니다.

앱 번들을 만들면 스토어에 앱을 더 쉽게 제출할 수 있습니다. 앱에서 지원하는 아키텍처 수와 관계없이 .appx 파일 하나만 업로드하면 됩니다. 예를 들어 하나만 업로드하여 x86 및 x64를 지원합니다. 앱 번들을 만들지 않는 경우 지원되는 모든 아키텍처에 대해 .appx 파일을 업로드해야 합니다.

A: 앱의 이미지 자산, 로그 및 시작 화면 이미지 등 패키지 매니페스트 디자이너를 사용하여 앱을 식별하는 각 이미지의 다른 버전을 추가할 수 있습니다. 그런 다음 화면 해상도가 서로 다른 다양한 장치에 적합한지 확인하기 위해 테스트할 수 있습니다. 이러한 이미지와 기타 이미지에 대한 파일 및 리소스를 관리 및 구성하는 방법을 알아보세요.

Windows 10 장치의 다양한 화면 해상도를 고려하면 유니버설 Windows 앱에서 응답성이 뛰어난 디자인을 하는 것도 중요합니다.

A: 표시 이름, 설명 및 패키지 매니페스트 파일에 설명된 기타 식별 기능을 지역화하여 다른 나라의 사용자들이 더 편리하게 사용할 수 있는 앱을 만들 수 있습니다.언어에 따라 리소스 파일을 로드하는 방법에 대해 알아보세요. 해당 항목에서 앱 매니페스트에서 문자열 로드 섹션으로 이동합니다.

리소스 파일을 사용하여 앱 자체를 지역화할 수도 있습니다.

A: 예. Visual Studio 명령 프롬프트에서 MSBuild를 실행하거나 Team Foundation Build를 사용할 수 있습니다.

Visual Studio 명령 프롬프트를 연 다음 MSBuild를 사용하여 앱 프로젝트를 빌드합니다. 추가 플래그 또는 대상을 지정하지 않으면 MSBuild가 프로젝트의 다른 빌드 출력과 동일한 위치에 앱 패키지를 만듭니다. 기본적으로 이 출력은 프로젝트 관련 하위 폴더에 나타납니다. 예:

MSBuild MyApp.csproj /p:OutDir=C:\builds\droplocation\

응용 프로그램 패키지 및 다른 빌드 출력이 다음 위치에 만들어집니다.

C:\builds\droplocation\MyApp\

패키지에 대해 빌드하는 플랫폼 및 특정 구성을 선택하려면 다음 매개 변수를 추가할 수 있습니다.

/p:Platform=x86;Configuration=Release

/p:Platform=x86;Configuration=Release

A:MakePRI 도구를 사용하여 PRI(패키지 리소스 인덱스) 파일을 만드는 데 도움이 되는 리소스 관리 시스템을 사용합니다. 각 PRI 파일에는 리소스 맵이라고 하는 이름이 지정된 리소스 모음이 들어 있습니다.

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

표시:
© 2016 Microsoft