次の方法で共有


アプリ インストーラー ファイルを手動で作成する

この記事では、自動バックアップ機能と修復機能を備えた 関連セット を定義するアプリ インストーラー ファイルを手動で作成する方法について説明します。 関連するセットは 1 つのエンティティではなく、メイン パッケージとオプション パッケージの組み合わせです。

関連するセットを 1 つのエンティティとしてインストールできるようにするには、メイン パッケージとオプション パッケージを 1 つとして指定できる必要があります。 これを行うには、. appinstaller 拡張子を持つ XML ファイルを作成して、関連するセットを定義する必要があります。 アプリ インストーラーは *.appinstaller ファイルを使用し、ユーザーが 1 回のクリックですべての定義済みパッケージをインストールできるようにします。

デプロイ時に、アプリ インストーラー ファイルは次の処理を行います。

  • URI MainPackage < 要素の>属性で参照される Windows アプリ パッケージは、ターゲットの Windows アプリ パッケージ属性のNamePublisher、およびVersionを検証します。 Windows アプリ パッケージ マニフェストの Package/Identity 要素が一致しない場合、インストールは失敗します。
  • パッケージのファミリの更新 URI と修復 URI への参照を作成します。

アプリ インストーラー ファイルを作成する方法

関連するセットを 1 つのエンティティとして配布するには、そのアプリ インストーラー スキーマに必要な要素を含む アプリ インストーラー ファイルを作成する必要があります。

  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 ファイルを作成する

テキスト エディター (Notepad.exe) を使用して、ファイル名拡張子が *の新しいファイルを作成します。AppInstaller

方法:
  1. スタート メニューを開きます。
  2. notepad.exe」と入力します。
  3. [ファイル] メニューを開きます。
  4. ドロップダウン メニューから [名前を付けて保存] を選択します。

手順 2: 基本テンプレートを追加する

アプリ インストーラー ファイルのバージョン、パス、ネットワークの場所を示す AppInstaller 要素をアプリ インストーラー ファイルに含めます。 AppInstaller要素内の情報は、関連付けられている Windows アプリをインストールするときに使用されます。

要素 説明
xmlns XML 名前空間
バージョン 4 つのドットで区切られた形式 (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 である場合に使用されます。 Windows アプリ インストーラーがバンドルされた Windows アプリ インストーラーであり、拡張子が *<MainBundle> である場合は、を使用します。

要素 説明
名前 アプリ インストーラー ファイルを介して配布されるプライマリ アプリケーションの名前。 これは、次の PowerShell コマンドレットを実行して見つけることができます: $(Get-AppxPackage [AppName]).Name
発行者 プライマリ Windows アプリ インストーラーの署名に使用される発行元証明書の正規名。 これは、次の PowerShell コマンドレットを実行して見つけることができます: $(Get-AppxPackage [AppName]).Publisher
バージョン 4 つの点で区切られた記法(1.0.0.0)で表されるプライマリ Windows アプリ インストーラーのバージョン。 これは、次の PowerShell コマンドレットを実行して見つけることができます: $(Get-AppxPackage [AppName]).Version
プロセッサーアーキテクチャ プライマリ Windows アプリ インストーラーがインストールされているアーキテクチャ。
URI(統一リソース識別子) プライマリ Windows アプリ インストール メディアへの URI パス。

<MainBundle>属性または<MainPackage>属性の情報は、アプリ バンドル マニフェストまたはアプリ パッケージ マニフェストの Package/Identity 要素とそれぞれ一致する必要があります。

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 またはファイルである場合は、次に示すように、<MainBundle>の代わりに<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" >

    <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 要素と一致する必要があります。

要素 説明
名前 App Installer ファイルを介して配布される省略可能なアプリケーションの名前。 これは、次の PowerShell コマンドレットを実行して見つけることができます: $(Get-AppxPackage [AppName]).Name
発行者 オプションの Windows アプリ インストーラーへの署名に使用される発行元証明書の正規名。 これは、次の PowerShell コマンドレットを実行して見つけることができます: $(Get-AppxPackage [AppName]).Publisher
バージョン 四角形のドット表記 (1.0.0.0) でのオプションの Windows アプリ インストーラーのバージョン。 これは、次の PowerShell コマンドレットを実行して見つけることができます: $(Get-AppxPackage [AppName]).Version
プロセッサーアーキテクチャ オプションの 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: 依存関係を追加する

dependencies 要素では、メイン パッケージまたはオプション パッケージに必要なフレームワーク パッケージを指定できます。

要素 説明
名前 アプリ インストーラー ファイルを介して配布される依存関係アプリケーションの名前。 これは、次の PowerShell コマンドレットを実行して見つけることができます: $(Get-AppxPackage [AppName]).Name
発行者 依存関係 Windows アプリ インストーラーの署名に使用される発行元証明書の正規名。 これは、次の PowerShell コマンドレットを実行して見つけることができます: $(Get-AppxPackage [AppName]).Publisher
バージョン クワッドドット表記 (1.0.0.0) の依存関係 Windows アプリ インストーラーのバージョン。 これは、次の PowerShell コマンドレットを実行して見つけることができます: $(Get-AppxPackage [AppName]).Version
プロセッサーアーキテクチャ 依存関係の 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: 更新設定を追加する

アプリ インストーラー ファイルでは、更新設定を指定して、新しいアプリ インストーラー ファイルが発行されたときに関連するセットを自動的に更新することもできます。 <UpdateSettings> は省略可能な要素です。 < 内で> OnLaunch オプションはアプリの起動時に更新チェックを行う必要があることを指定し、HoursBetweenUpdateChecks="12" は更新チェックを 12 時間ごとに行う必要があることを指定します。 HoursBetweenUpdateChecks が指定されていない場合、更新プログラムのチェックに使用される既定の間隔は 24 時間です。 バックグラウンド更新などの追加の種類の更新は、更新設定スキーマで確認できます。プロンプトを使用した更新など、起動時のその他の更新プログラムの種類は、OnLaunch スキーマで確認できます

元素 説明
更新確認間隔 (時間単位) Windows アプリの更新チェックの最小ギャップを定義します。
アップデートブロックのアクティベーション アプリの更新がチェックされる場合のエクスペリエンスを定義します。
プロンプトを表示 更新プログラムをインストールするとき、および更新プログラムをチェックするときにウィンドウを表示するかどうかを定義します。
すべてのバージョンから強制的に更新する アプリケーションの次のバージョンが新しいバージョンまたは古いバージョンであることを指定します。 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: 自動更新設定を追加する

重要

次の設定は、Windows 10 の Windows Insider ビルドで 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: 自動修復設定を追加する

重要

次の設定は、Windows 10 の Windows Insider ビルドで 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 以降で使用できます。