수동으로 앱 설치 관리자 파일 만들기
이 문서에서는 자동 업데이트 및 복구 기능을 사용하여 관련 집합을 정의하는 앱 설치 관리자 파일을 수동으로 만드는 방법을 보여 줍니다. 관련 집합은 하나의 엔터티가 아니라 기본 패키지와 선택적 패키지의 조합입니다.
관련 집합을 하나의 엔터티로 설치하려면 기본 패키지와 선택적 패키지를 하나로 지정할 수 있어야 합니다. 이렇게 하려면 관련 집합을 정의하기 위해 .appinstaller 확장이 있는 XML 파일을 만들어야 합니다. 앱 설치 관리자는 *.appinstaller 파일을 사용하고 사용자가 한 번의 클릭으로 정의된 모든 패키지를 설치할 수 있도록 합니다.
배포하는 동안 앱 설치 관리자 파일은 다음을 수행합니다.
- MainPackage 요소의 특성에서
URI
참조되는 Windows 앱 패키지는 대상 Windows 앱 패키지 특성의 유효성을 검사Name
Publisher
합니다Version
.<> Windows 앱 패키지 매니페스트의 Package/Identity 요소가 일치하지 않으면 설치가 실패합니다. - 패키지 패밀리에 대한 업데이트 및 복구 URI에 대한 참조를 만듭니다.
앱 설치 관리자 파일을 만드는 방법
관련 집합을 하나의 엔터티로 배포하려면 해당 앱 설치 관리자 스키마에 필요한 요소가 포함된 앱 설치 관리자 파일을 만들어야 합니다.
- *를 만듭니다. AppInstaller 파일입니다.
- 앱 설치 관리자 파일 특성을 지정합니다.
- 기본 Windows 앱 패키지를 지정합니다.
- 관련 집합 선택적 패키지를 지정합니다.
- 종속성 Windows 앱 프레임워크 패키지를 지정합니다.
- 업데이트 URI 경로를 지정합니다.
- 복구 URI 경로를 지정합니다.
- 업데이트 설정 지정합니다.
앱 설치 관리자 파일의 예
위에 제공된 단계에 따라 다음과 유사한 앱 설치 관리자 파일을 성공적으로 만들었습니다.
<?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
방법:
- 시작 메뉴를 엽니다.
- 다음을 입력합니다
notepad.exe
. - 파일 메뉴를 엽니다.
- 드롭다운 메뉴에서 다른 이름으로 저장을 선택합니다.
2단계: 기본 템플릿 추가
앱 설치 관리자 파일의 AppInstaller
버전, 경로 및 네트워크 위치를 나타내는 요소를 앱 설치 관리자 파일에 포함합니다. 요소의 AppInstaller
정보는 연결된 Windows 앱을 설치할 때 소비됩니다.
요소 | 설명 |
---|---|
Xmlns | XML 네임스페이스 |
버전 | 쿼드 점 표기법(1.0.0.0)의 앱 설치 관리자 파일 버전입니다. |
URI | 디바이스에서 액세스할 수 있는 현재 앱 설치 관리자 파일의 URI 경로입니다. |
방법:
1단계에서 만든 파일을 엽니다.
다음 XML 콘텐츠를 *에 복사합니다. AppInstaller 파일입니다.
<?xml version="1.0" encoding="utf-8"?> <AppInstaller xmlns="http://schemas.microsoft.com/appx/appinstaller/2021" Version="" Uri="" > </AppInstaller>
Version
앱 설치 관리자 파일의 버전으로 특성 업데이트이 *인
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부터 사용할 수 있습니다.