DISM을 사용하여 앱 사전 설치

참고

Microsoft Store 앱을 미리 설치하는 데 관심이 있지만 ’ OEM이 아닌가요? 조직을 위해 앱을 테스트용으로 로드하는 것에 대한 자세한 내용은 DISM을 통해 앱 사이드로드를참조하세요.

이 항목에서는 Windows 이미지의 일부로 포함되도록 앱을 미리 설치하는 방법을 다룹니다.

HSA(하드웨어 지원 앱)는 앱에 Microsoft Store 다음 지침이 적용됩니다.

앱 패키지 작업

DISM을 사용하여 이미지에 앱을 오프라인으로 프로비전합니다. 명령 프롬프트 또는 Windows PowerShell DISM cmdlet에서 DISM을 사용할 수 있습니다.

이전 버전의 Windows 10 미리 설치된 유니버설 앱 및 Microsoft Store 앱은 시작 메뉴 고정해야 했습니다. Windows 미리 설치되었지만 시작 메뉴 고정되지 않은 앱을 제거합니다.

Windows 10 버전 1803부터 옵션과 함께 사용할 때 시작 메뉴에 고정되지 않고 앱을 미리 설치할 수 DISM /add-provisionedappxpackage/region 있습니다. 앱을 미리 설치할 때 앱을 LayoutModification.xml 나가도록 선택할 수 있으며 앱은 시작 메뉴 타일로 표시되지 않고 성공적으로 설치됩니다. 지역 목록을 지정하지 않으면 앱이 시작 레이아웃에 고정된 경우에만 프로비전됩니다.

패키지 파일 추출

  1. 파트너 대시보드 다운로드한 앱 패키지를 저장한 폴더로 찾습니다.

  2. 앱 패키지 파일이 포함된 각 .zip 폴더를 마우스 오른쪽 단추로 클릭합니다. 모두 추출을 클릭하고 패키지 파일 폴더를 저장할 위치를 선택합니다.

    폴더에는 기본 패키지, 종속성 패키지 및 라이선스 파일을 포함하여 패키지에 대해 압축을 풉니다.

중요

패키지 파일을 추출한 후에는 폴더를 수정하지 마세요. 폴더의 파일을 변경, 추가 또는 제거하면 설치 또는 시작 중에 앱이 실패합니다. 폴더를 탐색해도 문제가 발생할 수 있습니다.

’프로비전된 이미지를 테스트하려면 패키지 파일의 라이선스 파일을 사용해야 합니다. 사용자 고유의 사용자 지정 데이터 파일을 만들면 OEM에서 미리 설치된 앱을 정확하게 테스트할 수 없습니다.

이미지에 앱을 오프라인으로 프로비전하려면 Dism.exe 도구 또는 Windows PowerShell DISM cmdlet을 사용하여 압축을 풉니다.

DISM을 Microsoft Store 서명된 앱 사전 설치

  1. 관리자 권한으로 명령 프롬프트를 엽니다.

  2. 서비스하려는 Windows 이미지를 탑재합니다.

    Dism /Mount-Image /ImageFile:c:\images\myimage.wim /Index:1 /mountdir:c:\test\offline
    
  3. 탑재된 이미지에 앱을 추가합니다. 및 /PackagePath/DependencyPackagePath 옵션을 사용합니다.

    • Packagepath 는 .appx 번들 또는 패키지 파일의 경로입니다.
    • DependencyPackagePath 는 각 종속성 패키지를 지정하기 위한 경로입니다. 명령당 두 개 이상의 종속성을 가질 수 있습니다.
    • Windows 10 버전 1803의 새로운버전: 앱을 추가할 때 옵션을 사용합니다. Region 를 사용하면 시작 메뉴에 앱을 고정하지 않고도 앱을 추가할 수 있습니다.
    Dism /Image:c:\test\offline /Add-ProvisionedAppxPackage /PackagePath:c:\downloads\package.appxbundle /DependencyPackagePath:c:\downloads\dependency1.appx /DependencyPackagePath:c:\downloads\dependency2.appx /LicensePath=c:\downloads\package_License1.xml /region=all"
    

    새 /region 옵션을 포함하여 앱 패키지 작업에 대한 자세한 내용은 DISM 앱 패키지 서비스 명령줄 옵션을 참조하세요.

  4. 시작 메뉴에 앱을 고정합니다.

    • 앱을 미리 설치할 때 를 지정하지 않은 경우 /regionLayoutModification.xml사용하여 시작 메뉴에 /region고정합니다.

      or

    • 앱을 미리 설치할 때 를 /region 지정했고 특정 지역의 시작 메뉴에 앱을 고정하려는 경우 /region 사용하여 앱을 표시할 지역을 지정합니다.

  5. 변경 내용을 저장하고 이미지를 분리합니다. 명령 프롬프트에 다음을 입력합니다.

    Dism /Unmount-Image /mountdir:c:\test\offline /commit
    

참고

Microsoft Store 앱은 감사 모드에서 실행되지 않습니다. 배포를 테스트하려면 Windows 실행하고 새 사용자 프로필을 만듭니다. 감사 모드에 대한 자세한 내용은 감사 모드 개요를 참조하세요.

중요 모바일 광대역 디바이스 앱을 미리 설치하는 경우 Sysprep의 특수 단계를 실행하기 전에 PC에 SIM 카드를 삽입해야 합니다. 모바일 광대역 디바이스 앱 사전 설치에 대한 자세한 내용은 모바일 광대역 애플리케이션 환경의 필수 구성 요소 사전 설치를 참조하세요.

패키지 업데이트 또는 제거

Windows PowerShell DISM.exe 도구 또는 DISM cmdlet을 사용하여 Windows 이미지에서 라이선스 및 사용자 지정 데이터 파일을 포함한 미리 설치된 앱을 제거할 수 있습니다. 새 앱을 설치하기 전에 이전 버전의 앱을 제거해야 합니다.

DISM을 사용하여 미리 설치된 앱 제거

  1. 관리자 권한으로 Windows ADK와 함께 설치된 배포 도구 명령 프롬프트를 엽니다. 시작 화면 배포 및 이미징 도구 환경을 입력하고 아이콘을마우스 오른쪽 단추로클릭한 다음 관리자 권한으로 실행을 선택합니다.

  2. 서비스를 위해 오프라인 이미지를 탑재합니다. 명령 프롬프트에 다음을 입력합니다.

    Dism /Mount-Image /ImageFile:c:\images\myimage.wim /Index:1 /mountdir:c:\test\offline
    
  3. 제거하려는 앱의 전체 패키지 이름을 찾습니다. 명령 프롬프트에 다음을 입력합니다.

    Dism /Image:C:\test\offline /Get-ProvisionedAppxPackages
    
  4. 탑재된 이미지에서 앱을 제거합니다. 예를 들어 명령 프롬프트에서 다음을 입력합니다.

    Dism /Image:c:\test\offline /Remove-ProvisionedAppxPackage /PackageName:microsoft.devx.appx.app1_1.0.0.0_neutral_en-us_ac4zc6fex2zjp
    
  5. 앱을 업데이트하려는 경우 Microsoft Store 서명된 앱의 업데이트된 버전을 미리 설치할 수 있습니다. 명령 프롬프트에서 다음을 입력합니다.

    Dism /Image:c:\test\offline /Add-ProvisionedAppxPackage/FolderPath:c:\downloads\appxpackage
    
  6. 변경 내용을 저장하고 이미지를 분리합니다. 명령 프롬프트에 다음을 입력합니다.

    Dism /Unmount-Image /mountdir:c:\test\offline /commit
    

사용자 지정 데이터 파일 사용

PC에 미리 설치된 앱은 설치와 관련한 사용자 지정 데이터에 액세스할 수 있습니다. 이 사용자 지정 데이터는 사전 설치 중에 앱에 추가되며 런타임에 사용할 수 있게 됩니다. 개발자는 사용자 지정 데이터를 사용하여 보고 기능 제공을 포함하여 앱의 기능과 기능을 사용자 지정할 수 있습니다.

Windows 이미지에 사용자 지정 데이터 파일 추가

DISM 도구를 사용하고 Add-AppxProvisionedPackage cmdlet을 사용하여 Windows PowerShell 통해 앱을 미리 설치할 때 사용자 지정 데이터 파일을 지정해야 합니다. 다음 명령은 DISM 도구를 사용하여 이 작업을 수행하는 방법을 보여줍니다.

Dism /Image:C:\test\offline /Add-ProvisionedAppxPackage / FolderPath:f:\Apps\Fabrikam_KnowMyPC /CustomDataPath:f:\Contoso_Promotion.xml

예를 들어 앱의 데이터 저장소에 사용자 지정 데이터 파일이 이미 있는 — 경우 패키지가 이미지에 이미 추가된 경우 — 기존 파일을 덮어씁니다. 설치에 실패하면 파일이 복원되지 않습니다.

참고 사용자 지정 데이터 파일을 손실하지 않고 Microsoft Store 통해 앱에 대한 업데이트를 릴리스할 수 있습니다. 그러나 사용자가 앱을 삭제하면 사용자가 앱을 다시 설치하더라도 사용자 지정 데이터 파일을 더 이상 사용할 수 없습니다.

사전 설치된 앱에 대한 사용자 지정 데이터 테스트

PC에 미리 설치된 앱은 설치와 관련한 사용자 지정 데이터에 액세스할 수 있습니다. 이 사용자 지정 데이터는 사전 설치 중에 앱에 추가되며 런타임에 앱에서 사용할 수 있게 됩니다. 개발자는 사용자 지정 데이터를 사용하여 보고 기능 제공을 포함하여 앱의 기능과 기능을 사용자 지정할 수 있습니다.

Custom.data 파일이 앱의 설치된 위치에 나타납니다. Custom.data라는 이름은 하드 코드되어 있으며 수정할 수 없습니다. 앱에서 이 파일이 있는지 확인하여 앱이 PC에 미리 설치되었는지 확인할 수 있습니다. Custom.data 파일에 액세스하는 방법의 예는 다음과 같습니다.

var outputDiv = document.getElementById("CustomData");
Windows.ApplicationModel.Package.current.installedLocation.getFileAsync
     ("microsoft.system.package.metadata\\Custom.data").then(function (file) {
         // Read the file
         Windows.Storage.FileIO.readTextAsync(file).done(function (fileContent) {
            outputDiv.innerHTML = 
                 "App is preinstalled. CustomData contains:<br /><br />"
                 + fileContent;
         },
         function (error) {
             outputDiv.innerText = "Error reading CustomData " + error;
         });
     },
     function (error) {
         outputDiv.innerText = "CustomData was not available. App not preinstalled";
     });

Custom.data 파일은 모든 콘텐츠를 포함할 수 있으며 앱에 필요한 형식일 수 있습니다. 사전 설치 프로세스는 앱에서 사용할 수 있도록 합니다. 개발자는 사전 설치 파트너에게 데이터 파일을 제공하거나 파트너가 콘텐츠를 생성할 수 있도록 하는 형식에 동의할 수 있습니다.

사용자 지정 데이터 테스트

Microsoft Visual Studio 앱을 빌드하고 디버깅하는 경우 앱이 아직 사전 설치되지 않았으므로 앱의 설치된 위치에서 Custom.data 파일에 액세스할 수 없습니다. 테스트 Custom.data 파일을 앱 자체에 배치한 다음, 앱 로컬 파일을 로드하고 테스트하여 Custom.data 파일을 사용하여 시뮬레이션할 수 있습니다. 이렇게 하려면 다음에서 코드 샘플을 수정합니다.

("microsoft.system.package.metadata\\Custom.data").then(function (file) {

다음과 같이 변경합니다.

("Custom.data").then(function (file) {

파일 형식 및 콘텐츠를 확인한 후에는 위의 원래 예제와 같이 Custom.data 파일의 위치를 최종 위치로 변경할 수 있습니다.

Custom.data 파일을 테스트하려면

  1. 관리자 권한으로 Windows ADK와 함께 설치된 배포 도구 명령 프롬프트를 엽니다. 시작 화면 배포 및 이미징 도구 환경을 입력하고 아이콘을마우스 오른쪽 단추로클릭한 다음 관리자 권한으로 실행을 선택합니다.

  2. 사용자 지정 데이터 파일을 통해 애플리케이션을 추가합니다.

    dism /online /Add-ProvisionedAppxPackage /PackagePath:.\CustomData_1.0.0.1_AnyCPU_Debug.appx /CustomDataPath:.\Test.txt /SkipLicense
    

    여기서는 /PackagePath:.\CustomData_1.0.0.1_AnyCPU_Debug.appx 로컬 앱 테스트 패키지를 가리키고 여기서는 /CustomDataPath:.\Test.txt 사용자 지정 데이터 파일을 가리킵니다. 여기에서 제공 하는 파일 이름은 응용 프로그램에 데이터가 설치 된 후에는 사용 되지 않습니다.

    이제 앱을 테스트 하는 데 사용 되는 PC의 시작 화면에 타일이 포함 됩니다. 앱에서 사용자 지정 데이터 파일에 액세스할 수 있어야 합니다. 추가 디버깅이 필요한 경우 시작 화면에서 앱을 시작한 후 디버거를 연결 합니다.

    참고시작 화면에서 앱을 보려면 로그 아웃 하 고 다시 로그인 해야 할 수도 있습니다.

  3. 앱 테스트를 완료 한 후에는 개발 환경을 계속 사용 하려면 미리 설치 된 패키지를 제거 해야 합니다. Windows PowerShell를 사용 하 여 사전 설치 된 패키지를 제거 하려면 add-appxpackage cmdlet을 사용 하 여 파이프라인을 통해 ProvisionedAppxPackage cmdlet에 전체 앱 패키지 이름을 제공할 수 있습니다.

    Get-AppxPackage *CustomData* | Remove-ProvisionedAppxPackage

    여기서 *CustomData* 는 앱 이름의 알려진 부분입니다.

Microsoft Store 장치 앱 또는 모바일 광대역 앱 사전 설치

DISM (배포 이미지 서비스 및 관리) 플랫폼을 사용 하 여 Microsoft Store 장치 앱 또는 모바일 광대역 앱에 필요한 구성 요소를 사전 설치할 수 있습니다.

참고 이 문서는 장치에서 Microsoft Store 장치 앱 또는 모바일 광대역 앱을 지원할 oem을 위한 것입니다.

각 앱 유형에 대해 올바른 Microsoft Store 장치 앱 또는 모바일 광대역 앱을 제공 하기 위해 두 가지를 미리 설치 해야 합니다.

  • 장치 앱 Microsoft Store 사전 설치:
    1. 장치 메타 데이터 패키지
  • 모바일 광대역 앱 Microsoft Store 사전 설치:
    1. 서비스 메타 데이터 패키지

중요 OOBE 프로세스가 완료 된 후 메타 데이터 패키지와 해당 앱이 즉시 구문 분석 되지만 사용자는 메타 데이터 패키지를 구문 분석 하기 전에 앱을 시작할 수 있습니다. 이 경우 사용자에 게 액세스 거부 오류가 표시 됩니다. 이를 방지 하려면 메타 데이터 패키지와 앱을 모두 시스템 이미지에 적용 합니다.

장치 메타 데이터 또는 서비스 메타 데이터 패키지 사전 설치

장치 메타 데이터 또는 서비스 메타 데이터 패키지를 사전 설치 하려면

  1. Microsoft Store 장치 앱을 미리 설치 하는 경우 장치 메타 데이터 패키지를 획득 해야 합니다. 모바일 광대역 앱을 미리 설치 하는 경우 서비스 메타 데이터 패키지를 획득 해야 합니다.

    참고 장치 메타 데이터 패키지 및 서비스 메타 데이터 패키지는 동일한 파일 이름 확장명 (. devicemetadata-ms)을 사용 합니다.

  2. 장치 메타 데이터 또는 서비스 메타 데이터 패키지 (devicemetadata 파일)를 %ProgramData%\Microsoft\ Windows \DeviceMetadataStore 폴더의 시스템 이미지에 복사 합니다. 다음 방법 중 하나로 해당 작업을 수행할 수 있습니다.

    • Sysprep을 실행 하기 전 온라인

    • DISM을 사용 하 여 Sysprep을 실행 한 후 오프 라인. 가상 하드 디스크 파일에 대한 중요 정보를 제공하려면

      1. 서비스를 위한 오프 라인 이미지를 탑재 합니다.

        Dism /Mount-Image /ImageFile:C:\test\images\myimage.wim /index:1 /MountDir:C:\test\offline
        
      2. 메타 데이터 패키지 파일을 탑재 된 이미지의 장치 메타 데이터 저장소에 복사 합니다. 예를 들어 devicemetadata 0ECF2029-2C6A-41AE-9E0A-63FFC9EAD877 메타 데이터 패키지 파일을 장치 메타 데이터 저장소에 복사 하려면 ProgramData\Microsoft\ Windows \DeviceMetadataStore:

        copy 0ECF2029-2C6A-41AE-9E0A-63FFC9EAD877.devicemetadata-ms C:\test\offline\ProgramData\Microsoft\Windows\DeviceMetadataStore
        
      3. 변경 내용을 저장 하 고 이미지를 분리 합니다.

        dism /Unmount-Image /mountdir: c:\test\offline /commit
        

      오프 라인 이미지 서비스에 대 한 자세한 내용은 DISM 개요를 참조 하세요.

서비스 메타 데이터에 대 한 자세한 내용은 서비스 메타 데이터를 참조 하세요.

Microsoft Store 장치 앱 또는 모바일 광대역 앱 사전 설치

Microsoft Store 장치 앱 또는 모바일 광대역 앱을 사전 설치 하려면

  1. 서비스를 위한 오프 라인 이미지를 탑재 합니다.

    Dism /Mount-Image /ImageFile:C:\test\images\myimage.wim /index:1 /MountDir:C:\test\offline
    
  2. 이미지에 Microsoft Store 장치 앱 또는 모바일 광대역 앱을 추가 합니다.

    dism /Image:<mounted folder> /Add-ProvisionedAppxPackage /FolderPath:<appxpackage path>
    
  3. 변경 내용을 저장 하 고 이미지를 분리 합니다.

    dism /Unmount-Image /mountdir: c:\test\offline /commit