수동으로 앱 설치 관리자 파일 만들기

이 문서에서는 자동 업데이트 및 복구 기능을 사용하여 관련 집합정의하는 앱 설치 관리자 파일을 수동으로 만드는 방법을 보여 줍니다. 관련 집합은 하나의 엔터티가 아니라 기본 패키지와 선택적 패키지의 조합입니다.

관련 집합을 하나의 엔터티로 설치하려면 기본 패키지와 선택적 패키지를 하나로 지정할 수 있어야 합니다. 이렇게 하려면 관련 집합을 정의하기 위해 .appinstaller 확장이 있는 XML 파일을 만들어야 합니다. 앱 설치 관리자는 *.appinstaller 파일을 사용하고 사용자가 한 번의 클릭으로 정의된 모든 패키지를 설치할 수 있도록 합니다.

배포하는 동안 앱 설치 관리자 파일은 다음을 수행합니다.

  • MainPackage 요소의 특성에서 URI 참조되는 Windows 앱 패키지는 대상 Windows 앱 패키지 특성의 유효성을 검사 NamePublisher 합니다Version.<> Windows 앱 패키지 매니페스트의 Package/Identity 요소가 일치하지 않으면 설치가 실패합니다.
  • 패키지 패밀리에 대한 업데이트 및 복구 URI에 대한 참조를 만듭니다.

앱 설치 관리자 파일을 만드는 방법

관련 집합을 하나의 엔터티로 배포하려면 해당 앱 설치 관리자 스키마에 필요한 요소가 포함된 앱 설치 관리자 파일을 만들어야 합니다.

  1. *를 만듭니다. AppInstaller 파일입니다.
  2. 앱 설치 관리자 파일 특성을 지정합니다.
  3. 기본 Windows 앱 패키지를 지정합니다.
  4. 관련 집합 선택적 패키지를 지정합니다.
  5. 종속성 Windows 앱 프레임워크 패키지를 지정합니다.
  6. 업데이트 URI 경로를 지정합니다.
  7. 복구 URI 경로를 지정합니다.
  8. 업데이트 설정 지정합니다.
앱 설치 관리자 파일의 예

위에 제공된 단계에 따라 다음과 유사한 앱 설치 관리자 파일을 성공적으로 만들었습니다.

<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
    xmlns="http://schemas.microsoft.com/appx/appinstaller/2017/2"
    Version="1.0.0.0"
    Uri="http://mywebservice.azurewebsites.net/appset.appinstaller" >

    <MainBundle
        Name="Contoso.MainApp"
        Publisher="CN=Contoso"
        Version="2.23.12.43"
        Uri="http://mywebservice.azurewebsites.net/mainapp.msixbundle" />

    <OptionalPackages>
        <Bundle
            Name="Contoso.OptionalApp1"
            Publisher="CN=Contoso"
            Version="2.23.12.43"
            Uri="http://mywebservice.azurewebsites.net/OptionalApp1.msixbundle" />

        <Bundle
            Name="Contoso.OptionalApp2"
            Publisher="CN=Contoso"
            Version="2.23.12.43"
            Uri="http://mywebservice.azurewebsites.net/OptionalApp2.msixbundle" />

        <Package
            Name="Fabrikam.OptionalApp3"
            Publisher="CN=Fabrikam"
            Version="10.34.54.23"
            Uri="http://mywebservice.azurewebsites.net/OptionalApp3.msix"
            ProcessorArchitecture="x64" />
    </OptionalPackages>

    <UpdateURIs>
        <UpdateURI>http://mywebservice.azurewebsites.net/appset.appinstaller</UpdateURI>
        <UpdateURI>http://mywebservice2.azurewebsites.net/appset.appinstaller</UpdateURI>
    </UpdateURIs>

    <RepairURIs>
        <RepairURI>http://mywebservice.azurewebsites.net/appset.appinstaller</RepairURI>
        <RepairURI>http://mywebservice2.azurewebsites.net/appset.appinstaller</RepairURI>
    </RepairURIs>

    <UpdateSettings>
        <OnLaunch HoursBetweenUpdateChecks="0"/>   
    </UpdateSettings>

</AppInstaller>

1단계: *.appinstaller 파일 만들기

텍스트 편집기(메모장.exe)를 사용하여 *의 파일 이름 확장명으로 새 파일을 만듭니다. AppInstaller

방법:
  1. 시작 메뉴를 엽니다.
  2. 다음을 입력합니다 notepad.exe.
  3. 파일 메뉴를 엽니다.
  4. 드롭다운 메뉴에서 다른 이름으로 저장을 선택합니다.

2단계: 기본 템플릿 추가

앱 설치 관리자 파일의 AppInstaller 버전, 경로 및 네트워크 위치를 나타내는 요소를 앱 설치 관리자 파일에 포함합니다. 요소의 AppInstaller 정보는 연결된 Windows 앱을 설치할 때 소비됩니다.

요소 설명
Xmlns XML 네임스페이스
버전 쿼드 점 표기법(1.0.0.0)의 앱 설치 관리자 파일 버전입니다.
URI 디바이스에서 액세스할 수 있는 현재 앱 설치 관리자 파일의 URI 경로입니다.
방법:
  1. 1단계에서 만든 파일을 엽니다.

  2. 다음 XML 콘텐츠를 *에 복사합니다. AppInstaller 파일입니다.

    <?xml version="1.0" encoding="utf-8"?>
    <AppInstaller
        xmlns="http://schemas.microsoft.com/appx/appinstaller/2021"
        Version=""
        Uri="" >
    </AppInstaller>
    
  3. Version 앱 설치 관리자 파일의 버전으로 특성 업데이트

  4. 이 *URI 네트워크 위치로 특성을 업데이트합니다. AppInstaller 파일에 액세스할 수 있습니다.

3단계: 기본 패키지 정보 추가

<MainPackage><MainBundle> 설치 관리자 파일을 사용하여 설치될 기본 Windows 앱을 식별하는 데 사용됩니다. <MainPackage> Windows 앱 설치 관리자가 *.msix 또는 *.appx일 때 사용됩니다. <MainBundle> Windows 앱 설치 관리자가 *.msixbundle 또는 *.appxbundle 확장과 함께 번들된 Windows 앱 설치 관리자인 경우 사용합니다.

요소 설명
이름 앱 설치 관리자 파일을 통해 배포되는 기본 애플리케이션의 이름입니다. 다음 PowerShell cmdlet $(Get-AppxPackage [AppName]).Name을 실행하여 찾을 수 있습니다.
게시자 기본 Windows 앱 설치 관리자에 서명하는 데 사용되는 게시자 인증서의 정식 이름입니다. 다음 PowerShell cmdlet $(Get-AppxPackage [AppName]).Publisher을 실행하여 찾을 수 있습니다.
버전 쿼드 점 표기법(1.0.0.0)의 기본 Windows 앱 설치 관리자 버전입니다. 다음 PowerShell cmdlet $(Get-AppxPackage [AppName]).Version을 실행하여 찾을 수 있습니다.
ProcessorArchitecture 기본 Windows 앱 설치 관리자가 설치하는 아키텍처입니다.
URI 기본 Windows 앱 설치 미디어의 URI 경로입니다.

또는 특성의 <MainBundle> 정보는 앱 번들 매니페스트 또는 앱 패키지 매니페스트의 Package/Identity 요소와 각각 일치해야 <MainPackage> 합니다.

Windows 앱 설치 관리자

기본 앱 패키지가 .msix 또는 .appx 파일인 경우 아래와 같이 사용합니다<MainPackage>. 비 번들 패키지에는 필수이므로 ProcessorArchitecture를 포함해야 합니다.

<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
    xmlns="http://schemas.microsoft.com/appx/appinstaller/2021"
    Version="1.0.0.0"
    Uri="http://mywebservice.azurewebsites.net/appset.appinstaller" >

    <MainPackage
        Name="Contoso.MainApp"
        Publisher="CN=Contoso"
        Version="2.23.12.43"
        ProcessorArchitecture="x64"
        Uri="http://mywebservice.azurewebsites.net/mainapp.msix" />

</AppInstaller>
Windows 앱 번들 설치 관리자

기본 앱 패키지가 .msixbundle 또는 .appxbundle 또는 파일인 경우 아래와 같이 대신 <MainPackage> 사용합니다<MainBundle>. 번들의 경우 ProcessorArchitecture가 필요하지 않습니다.

<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
    xmlns="http://schemas.microsoft.com/appx/appinstaller/2021"
    Version="1.0.0.0"
    Uri="http://mywebservice.azurewebsites.net/appset.appinstaller" >

    <MainBundle
        Name="Contoso.MainApp"
        Publisher="CN=Contoso"
        Version="2.23.12.43"
        Uri="http://mywebservice.azurewebsites.net/mainapp.msixbundle" />

</AppInstaller>

4단계: 선택적 패키지 추가

기본 앱 패키지 특성과 마찬가지로, 선택적 패키지가 앱 패키지 또는 앱 번들일 수 있는 경우 특성 내의 <OptionalPackages> 자식 요소는 각각이어야 <Package><Bundle> 합니다. 자식 요소의 패키지 정보는 번들 또는 패키지 매니페스트의 ID 요소와 일치해야 합니다.

요소 설명
이름 앱 설치 관리자 파일을 통해 배포되는 선택적 애플리케이션의 이름입니다. 다음 PowerShell cmdlet $(Get-AppxPackage [AppName]).Name을 실행하여 찾을 수 있습니다.
게시자 선택적 Windows 앱 설치 관리자에 서명하는 데 사용되는 게시자 인증서의 정식 이름입니다. 다음 PowerShell cmdlet $(Get-AppxPackage [AppName]).Publisher을 실행하여 찾을 수 있습니다.
버전 쿼드 점선 표기법(1.0.0.0)의 선택적 Windows 앱 설치 관리자 버전입니다. 다음 PowerShell cmdlet $(Get-AppxPackage [AppName]).Version을 실행하여 찾을 수 있습니다.
ProcessorArchitecture 선택적 Windows 앱 설치 관리자가 설치하는 아키텍처입니다.
URI 기본 Windows 앱 설치 미디어의 URI 경로입니다.
<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
    xmlns="http://schemas.microsoft.com/appx/appinstaller/2021"
    Version="1.0.0.0"
    Uri="http://mywebservice.azurewebsites.net/appset.appinstaller" >

    <MainBundle
        Name="Contoso.MainApp"
        Publisher="CN=Contoso"
        Version="2.23.12.43"
        Uri="http://mywebservice.azurewebsites.net/mainapp.msixbundle" />

    <OptionalPackages>
        <Bundle
            Name="Contoso.OptionalApp1"
            Publisher="CN=Contoso"
            Version="2.23.12.43"
            Uri="http://mywebservice.azurewebsites.net/OptionalApp1.msixbundle" />

        <Package
            Name="Fabrikam.OptionalApp3"
            Publisher="CN=Fabrikam"
            Version="10.34.54.23"
            ProcessorArchitecture="x64"
            Uri="http://mywebservice.azurewebsites.net/OptionalApp3.msix" />

    </OptionalPackages>

</AppInstaller>

5단계: 종속성 추가

종속성 요소에서 기본 패키지 또는 선택적 패키지에 필요한 프레임워크 패키지를 지정할 수 있습니다.

요소 설명
이름 앱 설치 관리자 파일을 통해 배포되는 종속성 애플리케이션의 이름입니다. 다음 PowerShell cmdlet $(Get-AppxPackage [AppName]).Name을 실행하여 찾을 수 있습니다.
게시자 종속성 Windows 앱 설치 관리자에 서명하는 데 사용되는 게시자 인증서의 정식 이름입니다. 다음 PowerShell cmdlet $(Get-AppxPackage [AppName]).Publisher을 실행하여 찾을 수 있습니다.
버전 쿼드 점선 표기법(1.0.0.0)의 종속성 Windows 앱 설치 관리자 버전입니다. 다음 PowerShell cmdlet $(Get-AppxPackage [AppName]).Version을 실행하여 찾을 수 있습니다.
ProcessorArchitecture 종속성 Windows 앱 설치 관리자가 설치하는 아키텍처입니다.
URI 종속성 Windows 앱 설치 미디어에 대한 URI 경로입니다.
<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
    xmlns="http://schemas.microsoft.com/appx/appinstaller/2021"
    Version="1.0.0.0"
    Uri="http://mywebservice.azurewebsites.net/appset.appinstaller" >

    <MainBundle
        Name="Contoso.MainApp"
        Publisher="CN=Contoso"
        Version="2.23.12.43"
        Uri="http://mywebservice.azurewebsites.net/mainapp.msixbundle" />

    <Dependencies>
        <Package 
            Name="Microsoft.VCLibs.140.00" 
            Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" 
            Version="14.0.24605.0" ProcessorArchitecture="x86" Uri="http://foobarbaz.com/fwkx86.appx" />
        <Package 
            Name="Microsoft.VCLibs.140.00" 
            Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" 
            Version="14.0.24605.0" 
            ProcessorArchitecture="x64" 
            Uri="http://foobarbaz.com/fwkx64.appx" />
    </Dependencies>

</AppInstaller>

6단계: 업데이트 설정 추가

또한 앱 설치 관리자 파일은 최신 앱 설치 관리자 파일이 게시될 때 관련 집합을 자동으로 업데이트할 수 있도록 업데이트 설정을 지정할 수 있습니다. <Update설정>는 선택적 요소입니다. 업데이트 내에서<설정> OnLaunch 옵션은 앱 시작 시 업데이트 검사 수행되도록 지정하고 HoursBetweenUpdateChecks="12"는 업데이트 검사 12시간마다 수행되도록 지정합니다. HoursBetweenUpdateChecks를 지정하지 않으면 업데이트에 검사 데 사용되는 기본 간격은 24시간입니다. 업데이트 설정 스키마에서 백그라운드 업데이트와 같은 추가 유형의 업데이트를 찾을 수 있습니다. 프롬프트가 있는 업데이트와 같은 추가 유형의 시작 업데이트는 OnLaunch 스키마에서 찾을 수 있습니다.

Elements 설명
HoursBetweenUpdateChecks Windows 앱 업데이트 검사 최소 간격을 정의합니다.
UpdateBlocksActivation 앱 업데이트가 검사 환경을 정의합니다.
ShowPrompt 업데이트가 설치될 때 창이 표시되는지, 업데이트가 검사 시기를 정의합니다.
ForceUpdateFromAnyVersion 애플리케이션의 다음 버전이 최신 또는 이전 버전일 수 있도록 지정합니다. True이면 모두 False(기본값)이면 새 버전만 설치됩니다.
<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
    xmlns="http://schemas.microsoft.com/appx/appinstaller/2021"
    Version="1.0.0.0"
    Uri="http://mywebservice.azurewebsites.net/appset.appinstaller" >

    <MainBundle
        Name="Contoso.MainApp"
        Publisher="CN=Contoso"
        Version="2.23.12.43"
        Uri="http://mywebservice.azurewebsites.net/mainapp.msixbundle" />

    <UpdateSettings>
        <OnLaunch 
            HoursBetweenUpdateChecks="12"
            UpdateBlocksActivation="true"
            ShowPrompt="true" />
        <AutomaticBackgroundTask />
        <ForceUpdateFromAnyVersion>true</ForceUpdateFromAnyVersion>
    </UpdateSettings>

</AppInstaller>

7단계: 자동 업데이트 설정 추가

Important

다음 설정은 Windows 10의 Windows 참가자 빌드에서 2021 스키마를 사용하는 경우에만 사용할 수 있습니다.

앱 설치 관리자 파일과 함께 설치된 Windows 앱은 기본적으로 이전 단계에서 설정한 구성을 준수하여 앱 설치 관리자 URI에서 Windows 앱을 업데이트합니다. 이 단계에서 구성된 업데이트 URI는 원래 앱 설치 관리자 URI에 더 이상 액세스할 수 없는 경우 사용할 수 있는 대체 URI 역할을 합니다. 모든 Windows 앱에 대해 최대 10 업데이트 URI를 구성할 수 있습니다.

업데이트 URI는 앱 설치 관리자 파일을 대상으로 해야 합니다.

참고 항목

이러한 설정은 스키마가 2021 이상으로 구성된 경우에만 작동합니다.

<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
    xmlns="http://schemas.microsoft.com/appx/appinstaller/2021"
    Version="1.0.0.0"
    Uri="http://mywebservice.azurewebsites.net/appset.appinstaller" >

    <MainBundle
        Name="Contoso.MainApp"
        Publisher="CN=Contoso"
        Version="2.23.12.43"
        Uri="http://mywebservice.azurewebsites.net/mainapp.msixbundle" />

    <UpdateSettings>
        <OnLaunch 
            HoursBetweenUpdateChecks="12" />
    </UpdateSettings>

    <UpdateUris>
        <UpdateUri>https://www.contoso.com/Installers/MainApp.AppInstaller</UpdateUri>
        <UpdateUri>\\ServerName\Share\Installers\MainApp.AppInstaller</UpdateUri>
    </UpdateUris>

</AppInstaller>

8단계: 자동 복구 설정 추가

Important

다음 설정은 Windows 10의 Windows 참가자 빌드에서 2021 스키마를 사용하는 경우에만 사용할 수 있습니다.

디바이스에 설치된 Windows 앱은 변조될 때 Windows 앱의 자동 복구를 지원할 수 있습니다. Windows 앱을 복구하는 데 사용할 원본 설치 관리자는 속성을 사용하여 <RepairURIs> 구성할 수 있습니다. Windows 앱은 앱 설치 관리자 URI에 따라 자체 복구를 시도합니다. 액세스할 수 없는 경우 Windows 앱은 복구 URI를 사용하여 복구 원본을 식별합니다. 모든 Windows 앱에 대해 최대 10 복구 URI를 구성할 수 있습니다.

복구 URI는 Windows 앱 또는 앱 설치 관리자 파일을 대상으로 할 수 있습니다. 이 설정에서는 앱 설치 관리자 파일을 사용하여 Windows 앱을 설치할 필요가 없습니다.

<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
    xmlns="http://schemas.microsoft.com/appx/appinstaller/2021"
    Version="1.0.0.0"
    Uri="http://mywebservice.azurewebsites.net/appset.appinstaller" >

    <MainBundle
        Name="Contoso.MainApp"
        Publisher="CN=Contoso"
        Version="2.23.12.43"
        Uri="http://mywebservice.azurewebsites.net/mainapp.msixbundle" />

    <UpdateSettings>
        <OnLaunch 
            HoursBetweenUpdateChecks="12" />
    </UpdateSettings>

    <RepairUris>
        <RepairUri></RepairUri>
        <RepairUri></RepairUri>
    </RepairUris>

</AppInstaller>

XML 스키마에 대한 모든 세부 정보는 앱 설치 관리자 파일 참조를 참조하세요.

참고 항목

앱 설치 관리자 파일 형식은 Windows 10 버전 1709(Windows 10 Fall Creators Update)의 새로운 기능입니다. 이전 버전의 Windows 10에서 앱 설치 관리자 파일을 사용하여 Windows 10 앱을 배포할 수 없습니다. HoursBetweenUpdateChecks 요소는 Windows 10 버전 1803부터 사용할 수 있습니다.