アプリ インストーラー ファイルの手動作成Create an App Installer file manually

この記事では、関連するセットを定義するアプリのインストーラーファイルを手動で作成する方法について説明します。This article shows how to manually create an App Installer file that defines a related set. 関連セットとは、1 つのエンティティではなく、メイン パッケージとオプション パッケージの組み合わせです。A related set is not one entity, but rather a combination of a main package and optional packages.

関連セットを 1 つのエンティティとしてインストールするには、メイン パッケージとオプション パッケージを指定する必要があります。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 ファイルを使用し、ユーザーは1回のクリックで定義されたすべてのパッケージをインストールできます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. このため、NamePublisher、および 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

関連セットを 1 つのエンティティとして配布するには、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 が格納される) を作成し、<ファイル名>.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 またはファイルの場合は、次に示すように <MainPackage> の代わりに <MainBundle> を使用します。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

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 秋の更新プログラム)。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.