수동으로 앱 설치 관리자 파일 만들기Create an App Installer file manually

이 문서에서는 관련 된 집합을 정의 하는 앱 설치 관리자 파일을 수동으로 만드는 방법을 보여 줍니다.This article shows how to manually create an App Installer file that defines a related set. 관련 집합은 하나의 엔터티가 아니라 주 패키지와 선택적 패키지의 조합입니다.A related set is not one entity, but rather a combination of a main package and optional packages.

관련 집합을 하나의 엔터티로 설치할 수 있으려면 주 패키지와 선택적 패키지를 하나로 지정할 수 있어야 합니다.To be able to install a related set as one entity, we must be able to specify the main package and optional package as one. 이렇게 하려면 appinstaller 확장을 사용 하 여 XML 파일을 만들어 관련 집합을 정의 해야 합니다.To do this, we will need to create an XML file with an .appinstaller extension to define a related set. 앱 설치 관리자는 appinstaller 파일을 사용 하 여 사용자가 한 번의 클릭으로 정의 된 모든 패키지를 설치할 수 있도록 합니다.App Installer consumes the .appinstaller file and allows the user to install all of the defined packages with a single click.

앱 설치 관리자 파일 예제App Installer file example

자세한 내용은 다음에 나오는 전체 샘플 .msixbundle *. appinstaller 파일을 참조 하세요.Before we go in to more detail, here is a complete sample msixbundle *.appinstaller file:

<?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>
    
    <UpdateSettings>
    <OnLaunch HoursBetweenUpdateChecks="0"/>   
  </UpdateSettings>

</AppInstaller>

배포 하는 동안 요소에서 참조 되는 앱 패키지에 대해 앱 설치 관리자 파일의 유효성을 검사 합니다 Uri .During deployment, the App Installer file is validated against the app packages referenced in the Uri element. 따라서 및는 Name Publisher Version 앱 패키지 매니페스트의 package/Identity 요소와 일치 해야 합니다.So, the Name, Publisher and Version should match the Package/Identity element in the app package manifest.

앱 설치 관리자 파일을 만드는 방법How to create an App Installer file

관련 집합을 하나의 엔터티로 배포 하려면 해당 appinstaller 스키마에 필요한 요소가 포함 된 앱 설치 관리자 파일을 만들어야 합니다.To distribute your related set as one entity, you must create an App Installer file that contains the elements that are required by that appinstaller schema.

1 단계: *. appinstaller 파일 만들기Step 1: Create the *.appinstaller file

텍스트 편집기를 사용 하 여 XML을 포함 하는 파일을 만들고 이름을 < filename. appinstaller로 지정한 다음 >Using a text editor, create a file (which will contain XML) and name it <filename>.appinstaller

2 단계: 기본 템플릿 추가Step 2: Add the basic template

기본 템플릿에는 앱 설치 관리자 파일 정보가 포함 되어 있습니다.The basic template includes the App Installer file information.

<?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" >
</AppInstaller>

3 단계: 주 패키지 정보 추가Step 3: Add the main package information

주 앱 패키지가. msix 또는 .appx 파일이 면 <MainPackage> 아래와 같이을 사용 합니다.If the main app package is an .msix or .appx file, then use <MainPackage>, as shown below. 비 번들 패키지의 필수 항목 이므로 ProcessorArchitecture를 포함 해야 합니다.Be sure to include the ProcessorArchitecture, as it is mandatory for non-bundle packages.

<?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" >

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

</AppInstaller>

주 앱 패키지가. msixbundle 또는 .appxbundle 또는 파일인 경우 <MainBundle> 아래와 같이 대신를 사용 합니다 <MainPackage> .If the main app package is an .msixbundle or .appxbundle or file, then use the <MainBundle> in place of <MainPackage> as shown below. 번들의 경우 ProcessorArchitecture이 필요 하지 않습니다.For bundles, ProcessorArchitecture is not required.

<?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" />

</AppInstaller>

또는 특성의 정보 <MainBundle><MainPackage> 각각 앱 번들 매니페스트 또는 앱 패키지 매니페스트의 package/Identity 요소와 일치 해야 합니다.The information in the <MainBundle> or <MainPackage> attribute should match the Package/Identity element in the app bundle manifest or app package manifest respectively.

4 단계: 선택적 패키지 추가Step 4: Add the optional packages

주 앱 패키지 특성과 마찬가지로 선택적 패키지가 앱 패키지 또는 앱 번들 일 수 있는 경우 특성 내의 자식 요소는 <OptionalPackages> <Package> 각각 또는 여야 합니다 <Bundle> .Similar to the main app package attribute, if the optional package can be either an app package or an app bundle, the child element within the <OptionalPackages> attribute should be <Package> or <Bundle> respectively. 자식 요소의 패키지 정보는 번들 또는 패키지 매니페스트의 identity 요소와 일치 해야 합니다.The package information in the child elements should match the identity element in the bundle or package manifest.

<?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"
            ProcessorArchitecture="x64"
            Uri="http://mywebservice.azurewebsites.net/OptionalApp3.msix" />

    </OptionalPackages>

</AppInstaller>

5 단계: 종속성 추가Step 5: Add dependencies

종속성 요소에서 주 패키지 또는 선택적 패키지에 필요한 프레임 워크 패키지를 지정할 수 있습니다.In the dependencies element, you can specify the required framework packages for the main package or the optional packages.

<?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"
            ProcessorArchitecture="x86"
            Uri="http://mywebservice.azurewebsites.net/OptionalApp3.msix" />

    </OptionalPackages>

    <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 단계: 업데이트 설정 추가Step 6: Add Update setting

앱 설치 관리자 파일은 업데이트 설정을 지정 하 여 최신 앱 설치 관리자 파일이 게시 될 때 관련 집합이 자동으로 업데이트 되도록 할 수도 있습니다.The App Installer file can also specify update setting so that the related sets can be automatically updated when a newer App Installer file is published. 는 선택적 요소입니다. is an optional element. OnLaunch 옵션 내에서 앱 시작에 대 한 업데이트 검사를 수행 하도록 지정 하 고 HoursBetweenUpdateChecks = "12"는 12 시간 마다 업데이트 확인을 수행 하도록 지정 합니다.Within the OnLaunch option specifies that update checks should be made on app launch, and HoursBetweenUpdateChecks="12" specifies that an update check should be made every 12 hours. HoursBetweenUpdateChecks가 지정 되지 않은 경우 업데이트를 확인 하는 데 사용 되는 기본 간격은 24 시간입니다.If HoursBetweenUpdateChecks is not specified, the default interval used to check for updates is 24 hours. 백그라운드 업데이트와 같은 추가 업데이트 유형은 업데이트 설정 스키마에서 찾을 수 있습니다. 프롬프트를 사용 하는 업데이트와 같은 추가 유형의 시작 업데이트는 OnLaunch 스키마 에서 찾을 수 있습니다.Additional types of updates, like background updates can be found in the Update Settings schema; Additional types of on-launch updates like updates with a prompt can be found in the OnLaunch schema

<?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"
            ProcessorArchitecture="x86"
            Uri="http://mywebservice.azurewebsites.net/OptionalApp3.msix" />

    </OptionalPackages>

    <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>

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

</AppInstaller>

XML 스키마에 대 한 모든 세부 정보는 앱 설치 관리자 파일 참조를 참조 하세요.For all of the details on the XML schema, see App Installer file reference.

참고

앱 설치 관리자 파일 형식은 Windows 10 버전 1709 (Windows 10의 Windows 10 크리에이터 업데이트)에서 새로 만들기 되었습니다.The App Installer file type is new in Windows 10, version 1709 (the Windows 10 Fall Creators Update). 이전 버전의 Windows 10에서 앱 설치 관리자 파일을 사용 하는 Windows 10 앱 배포는 지원 되지 않습니다.There is no support for deployment of Windows 10 apps using an App Installer file on previous versions of Windows 10. HoursBetweenUpdateChecks 요소는 Windows 10 버전 1803부터 사용할 수 있습니다.The HoursBetweenUpdateChecks element is available starting in Windows 10, version 1803.