다음을 통해 공유


모바일 디바이스용 사전 설치 가능한 앱

모바일 이미지에 미리 설치된 앱을 추가하려면 다음을 수행합니다.

사전 설치 가능한 앱을 만드는 프로세스는 표준 앱을 만드는 프로세스와 유사합니다. Windows 10 개발자 센터에서 개발자는 Windows 10 Mobile 이미지에 사전 설치하려는 앱을 제출합니다. 앱이 제출되면 이 항목에 설명된 대로 사전 설치 패키지를 요청하고 다운로드하여 이미지에 추가할 수 있습니다.

사전 설치 가능한 앱을 추가하려면 다음 작업을 수행해야 합니다.

  • 사전 설치 패키지 요청
  • 사전 설치 가능한 앱에 대한 .provxml 만들기
  • 사용자 지정 응답 파일을 사용하여 이미지에 앱 추가
  • 이미지 빌드

사전 설치 패키지 요청

개발자 센터에 앱을 추가한 개발자는 앱에 대한 사전 설치 패키지를 요청할 수 있습니다. 그런 다음, 사전 설치 패키지를 작업 중인 OEM에 직접 제공할 수 있습니다. OS 이미지에 이 애플리케이션을 추가하는 OEM인 경우 애플리케이션 개발자에게 애플리케이션 패키지를 다운로드한 다음, 다운로드한 zip 파일을 제공하도록 요청합니다. 개발자 계정에 직접 액세스할 수는 없습니다. 사전 설치 패키지가 있으면 나머지 단계를 계속할 수 있습니다. 개발자가 OEM에 대한 사전 설치 패키지를 생성하는 방법에 대한 자세한 내용은 OEM에 대한 사전 설치 패키지 생성을 참조하세요.

사전 설치 가능한 앱에 대한 .provxml 파일 만들기

Windows 10 Mobile OS 이미지에 미리 설치된 앱을 추가하려면 설치 매개 변수 및 Windows 10 Store 카탈로그 식별자를 지정하는 .provxml 구성 파일이 필요합니다. 특히 .appx 파일의 경로, 라이선스 파일의 경로 및 스토어 카탈로그 ID를 지정해야 합니다. 이 정보는 앱이 스토어 서비스에 연결하여 업데이트를 확인할 때 사용됩니다. 오류 가능성을 최소화하기 위해 개발자 포털은 앱에 적절한 XML을 제공합니다. 다음은 .provxml의 모양에 대한 예입니다.

<?xml version="1.0" encoding="UTF-8" ?>
<wap-provisioningdoc>
   <characteristic type="AppInstall">
      <characteristic type="AppXPackage">
         <parm name="ProductID" value="{09f2d20a-7076-4970-80ac-1bc24c171d2e}"/>
         <parm name="AppXPath" value="c:\Programs\CommonFiles\Xaps\SampleApp.appx"/>
         <parm name="LicensePath" value="c:\Programs\CommonFiles\Xaps\SampleAppLicense.xml"/>
         <parm name="InstanceID" value="{03e9a435-3000-11db-89ca-0019b92FFFFF}"/>
         <parm name="OfferID" value="{03e9a435-3000-11db-89ca-0019b92FFFFF}"/>
         <parm name="PayloadID" value="{03e9a435-3000-11db-89ca-0019b92FFFFF}"/>
         <parm name="UninstallDisabled" value="false"/>
         <parm name="FullyPreInstall" value="false"/>
         <parm name="ForceUpdate" value="false"/>
      </characteristic>
   </characteristic>
</wap-provisioningdoc>

참고

미리 설치된 앱에 대한 provxml 파일은 규정된 명명 규칙을 따라야 합니다. 이름 및 인덱스는 임의의 문자열일 수 있는 MPAP_name_index.provxml을 사용해야 합니다. 일반적으로 이름은 미리 설치된 앱을 포함하는 업데이트 패키지의 이름이며 인덱스는 이름이 같은 provxml 파일을 구분하는 문자열입니다. 종종 인덱스는 01과 같은 숫자로 표시됩니다.

provxml 플래그

다음은 provxml에서 사용할 수 있는 플래그입니다.

플래그 설명
UninstallDisabled 이 플래그는 사용자가 미리 설치된 앱을 제거할 수 있는지 여부를 제어합니다. FALSE(기본값)로 설정하면 사용자가 미리 설치된 앱을 제거할 수 있습니다. TRUE로 설정하면 사용자가 앱을 제거할 수 없습니다. 이 플래그는 provxml을 통해서만 설정할 수 있으며 스토어 업데이트를 통해 재정의할 수 없습니다. 업데이트된 provxml 파일이 있는 디바이스 업데이트만 이 값을 변경할 수 있습니다. 이상적으로는 사용자 환경을 유지하기 위해 전화 기능에 중요한 앱에 대해서만 이 플래그를 TRUE로 설정해야 합니다.
ForceUpdate 이 플래그를 사용하면 OS 업데이트 이미지의 앱이 Windows 10 Mobile로 업데이트하기 전에 휴대폰에 이미 설치된 기존 버전의 앱을 덮어쓸 수 있습니다. 이 플래그의 기본값은 FALSE입니다. 앱 업데이트가 강제로 적용되므로 이미 설치된 앱이 이전 버전의 OS용으로 개발된 경우 이 플래그를 TRUE로 설정하면 기능이 다운그레이드될 수 있습니다. 일반적으로 이 플래그는 앱의 Windows 10 Mobile 버전이 이미 설치된 앱의 버전을 다운그레이드하는 것을 의미하더라도 업데이트 직후 휴대폰에 있어야 하는 경우에만 사용해야 합니다.
FullyPreinstall 이 플래그는 앱이 첫 번째 부팅/업데이트 중에 MDIL 바인딩되는지 또는 해당 작업이 완료될 때까지 지연되는지 여부를 제어합니다. 시작에 미리 고정되지 않은 앱의 기본 동작인 MDIL 바인딩을 지연하면 사용자가 최대한 빨리 휴대폰으로 돌아갈 수 있습니다. 첫 번째 부팅/업데이트가 완료될 때까지 바인딩이 지연되면 앱 아이콘이 "설치 중" 상태로 회색으로 표시되며 지연된 바인딩이 완료될 때까지 실행할 수 없습니다. 지연된 모든 바인딩을 완료하는 데 걸리는 시간은 지연된 미리 로드된 앱 수와 사용자의 활동에 따라 달라집니다. 플래그 동작은 다음과 같습니다.
  • true: MDIL 바인딩은 첫 번째 부팅 또는 업데이트가 완료되기 전에 발생합니다.
  • false: 앱이 시작에 미리 고정된 경우 첫 번째 부팅 또는 업데이트가 완료되기 전에 MDIL 바인딩이 수행됩니다. 앱이 시작에 미리 고정되지 않은 경우 MDIL 바인딩은 첫 번째 부팅 또는 업데이트가 완료될 때까지 지연됩니다.
일반적으로 이 값은 첫 번째 부팅 또는 OS 업데이트 직후에 앱을 실행할 수 있어야 하는 경우가 아니면 기본값(FALSE)으로 남아 있어야 합니다. 이 플래그를 TRUE로 설정해야 하는 몇 가지 예시 상황은 다음과 같습니다.
  • OEM 확장 앱
  • 전화 걸기 설치 앱
  • OEM 서비스 에이전트
  • 중요 시스템 설정 앱

이미지에 앱 추가

사전 설치 앱은 customizations.xml 응답 파일을 사용하여 OS 이미지에 추가됩니다. customizations.xml 응답 파일을 만들려면 먼저 Windows 구성 디자이너를 설치한 다음, 프로비전 패키지를 만듭니다. 그런 다음, 프로젝트 폴더를 열어 customizations.xml 파일을 찾을 수 있습니다.

이미지에 미리 설치된 앱을 포함하려면 적절한 정의 특성을 사용하여 customizations.xml 파일에 Application 요소를 추가해야 합니다. 다음 코드 샘플에서는 사전 설치를 위해 사용자 지정 응답 파일에 앱을 추가하는 방법을 보여 줍니다.

    <Applications>
      <Application License="$(CAFE_OUTPUT_DIR)\content\App_MobileTV_7e7cc86e_e1c0_476a_ac88_db3c9ffffabb\MobileTV_License.xml" ProvXML="$(CAFE_OUTPUT_DIR)\content\App_MobileTV_7e7cc86e_e1c0_476a_ac88_db3c9ffffabb\MPAP_MobileTV_01.provxml" Source="$(CAFE_OUTPUT_DIR)\content\App_MobileTV_7e7cc86e_e1c0_476a_ac88_db3c9ffffabb\MobileTV.xap"/>
      <Application License="$(CAFE_OUTPUT_DIR)\content\App_AudioSettings_373cb76e_7f6c_45aa_8633_b00e85c73261\audio_License.xml" ProvXML="$(CAFE_OUTPUT_DIR)\content\App_AudioSettings_373cb76e_7f6c_45aa_8633_b00e85c73261\MPAP_audio_01.provxml" Source="$(CAFE_OUTPUT_DIR)\content\App_AudioSettings_373cb76e_7f6c_45aa_8633_b00e85c73261\audio.appx"/>
      <Application License="$(CAFE_OUTPUT_DIR)\content\App_MicrosoftHealthApp_0168b504_ca18_46b8_b60a_0f6fdc271c81\MicrosoftHealthApp_License.xml" ProvXML="$(CAFE_OUTPUT_DIR)\content\App_MicrosoftHealthApp_0168b504_ca18_46b8_b60a_0f6fdc271c81\MPAP_MicrosoftHealthApp_01.provxml" Source="$(CAFE_OUTPUT_DIR)\content\App_MicrosoftHealthApp_0168b504_ca18_46b8_b60a_0f6fdc271c81\MicrosoftHealthApp.appxbundle"/>
    </Applications>

참고

provxml 파일은 "$(runtime.commonfiles)\Provisioning\OEM" 디렉터리에 있어야 합니다. 라이선스 파일 및 앱 패키지(.xap 또는 .appx)는 "$(runtime.commonfiles)\xaps" 디렉터리에 있어야 합니다.

customizations.xml 응답 파일을 구성한 후 Windows 구성 디자이너 명령줄 인터페이스를 사용하여 이미지를 빌드합니다. 지침은 Windows 구성 디자이너 명령줄 인터페이스를 참조하세요.

이미지 빌드

imggen을 사용하여 사용자 지정된 모바일 이미지 빌드의 단계를 수행합니다.