MSIX SDK を使用して Windows 10 以外のプラットフォームで、MSIX パッケージ配布Use the MSIX SDK to distribute an MSIX package on non-Windows 10 platforms

MSIX SDK は、クライアント デバイスでの OS プラットフォームに関係なく、クライアント デバイスにパッケージのコンテンツを配布するユニバーサル方法を開発者に提供します。The MSIX SDK offers developers a universal way to distribute package contents to client devices regardless of the OS platform on the client device. これにより、開発者が 1 回ではなくアプリ コンテンツをパッケージ化する各プラットフォーム用のパッケージにします。This enables developers to package their app content once instead of having to package for each platform.

MSIX SDK と、複数のプラットフォームに、パッケージのコンテンツを配布する機能を活用するには、パッケージに抽出する先のターゲット プラットフォームを指定する方法を紹介します。To take advantage of the MSIX SDK and the ability to distribute your package contents to multiple platforms, we provide a way to specify the target platforms where you want your packages to extract to. これは、希望する場合にのみ、パッケージの内容は、パッケージから抽出されることを確認することを意味します。This means you can ensure that the package contents are being extracted from the package only as you desire.

次の表では、マニフェストで宣言するターゲット デバイス ファミリを示します。The following table shows the target device families to declare in the manifest.

プラットフォームPlatform Family (ファミリ)Family ターゲット デバイス ファミリTarget Device Family メモNotes
Windows 10Windows 10 PhonePhone





















Platform.AllPlatform.All























Windows.UniversalWindows.Universal Windows.MobileWindows.Mobile モバイル デバイスMobile devices
DesktopDesktop Windows.DesktopWindows.Desktop PCPC
XboxXbox Windows.XboxWindows.Xbox Xbox コンソールXbox console
Surface HubSurface Hub Windows.TeamWindows.Team 大画面 Win 10 デバイスLarge screen Win 10 devices
HoloLensHoloLens Windows.HolographicWindows.Holographic VR/AR ヘッドセットVR/AR headset
IoTIoT Windows.IoTWindows.IoT IoT デバイスIoT devices
iOSiOS PhonePhone Apple.Ios.AllApple.Ios.All Apple.Ios.PhoneApple.Ios.Phone iPhone、タッチiPhone, Touch
タブレットTablet Apple.Ios.TabletApple.Ios.Tablet iPad mini、iPad、iPad ProiPad mini, iPad, iPad Pro
TVTV Apple.Ios.TVApple.Ios.TV Apple TVApple TV
視聴するWatch Apple.Ios.WatchApple.Ios.Watch iWatchiWatch
macOSMacOS DesktopDesktop Apple.MacOS.AllApple.MacOS.All MacBook Pro、MacBook 航空、Mac、Mini、iMacMacBook Pro, MacBook Air, Mac Mini, iMac
AndroidAndroid PhonePhone Google.Android.AllGoogle.Android.All Google.Android.PhoneGoogle.Android.Phone モバイル デバイスを Android の任意のフレーバーを対象とします。Mobile devices that target any flavor of Android
タブレットTablet Google.Android.TabletGoogle.Android.Tablet Android タブレットAndroid tablets
DesktopDesktop Google.Android.DesktopGoogle.Android.Desktop ChromebookChromebooks
TVTV Google.Android.TVGoogle.Android.TV 大画面の android デバイスAndroid large screen devices
視聴するWatch Google.Android.WatchGoogle.Android.Watch Google の歯車デバイスGoogle gear devices
WindowsWindows 77 Windows7.DesktopWindows7.Desktop Windows 7 デバイスWindows 7 devices
88 Windows8.DesktopWindows8.Desktop Windows 8 または 8.1 デバイスWindows 8/8.1 devices
WebWeb マイクロソフトMicrosoft Web.AllWeb.All Web.Edge.AllWeb.Edge.All Edge エンジンの web アプリEdge web engine apps
AndroidAndroid Web.Blink.AllWeb.Blink.All エンジンの web アプリを点滅させます。Blink web engine apps
クロムChrome Web.Chromium.AllWeb.Chromium.All Chrome web エンジン アプリケーションの実行Chrome web engine apps
iOSiOS Web.Webkit.AllWeb.Webkit.All Webkit web エンジン アプリWebkit web engine apps
macOSMacOS Web.Safari.AllWeb.Safari.All Safari web エンジン アプリSafari web engine apps
LinuxLinux Any/allAny/All Linux.AllLinux.All すべての Linux ディストリビューションAll Linux distributions

アプリ パッケージのマニフェスト ファイルなどの特定のプラットフォームおよびデバイスでのみ抽出するパッケージの内容を実行する場合に、適切なターゲット デバイス ファミリを含める必要があります。In the app package manifest file, you will need to include the appropriate target device family if you like the package contents to be only extracted on specific platforms and devices. Bulid すべてのプラットフォームとデバイスの種類ではサポートされているようにパッケージする場合、 Platform.All対象のデバイス ファミリとして。If you like the bulid the package in such a way that it is supported on all platform and device types, choose Platform.All as the target device family. 同様に、web アプリでのみサポートされるパッケージする場合は、選択Web.Allします。Similarly, if you like the package to be only supported in web apps, choose Web.All.

サンプル マニフェスト ファイル (AppxManifest.xml)Sample manifest file (AppxManifest.xml)

<?xml version="1.0" encoding="utf-8"?>
<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
         xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"
         xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
         xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
         IgnorableNamespaces="mp uap uap3">

  <Identity Name="BestAppExtension"
            Publisher="CN=awesomepublisher"
            Version="1.0.0.0" />

  <mp:PhoneIdentity PhoneProductId="56a6ecda-c215-4864-b097-447edd1f49fe" PhonePublisherId="00000000-0000-0000-0000-000000000000"/>

  <Properties>
    <DisplayName>Best App Extension</DisplayName>
    <PublisherDisplayName>Awesome Publisher</PublisherDisplayName>
    <Description>This is an extension package to my app</Description>
    <Logo>Assets\StoreLogo.png</Logo>
  </Properties>

  <Resources>
    <Resource Language="x-generate"/>
  </Resources>

  <Dependencies>
    <TargetDeviceFamily Name="Platform.All" MinVersion="0.0.0.0" MaxVersionTested="0.0.0.0"/>
  </Dependencies>

  <Applications>
    <Application Id="App">
      <uap:VisualElements
          DisplayName="Best App Extension"
          Description="This is the best app extension"
          BackgroundColor="white"
          Square150x150Logo="images\squareTile-sdk.png"
          Square44x44Logo="images\smallTile-sdk.png"
          AppListEntry="none">
      </uap:VisualElements>

      <Extensions>
        <uap3:Extension Category="Windows.appExtension">
          <uap3:AppExtension Name="add-in-contract" Id="add-in" PublicFolder="Public" DisplayName="Sample Add-in" Description="This is a sample add-in">
            <uap3:Properties>
               <!--Free form space-->
            </uap3:Properties>
          </uap3:AppExtension>
        </uap3:Extension>
      </Extensions>

    </Application>
  </Applications>
</Package>

プラットフォームのバージョンPlatform version

上記のサンプル マニフェスト ファイルで、プラットフォーム名と共にも指定するパラメーター、 MinVersionMaxVersionTestedこれらのパラメーターは Windows 10 プラットフォームで使用します。In the above sample manifest file, along with the platform name, there are also parameters to specify the MinVersion and MaxVersionTested These parameters are used on Windows 10 platforms. Windows 10 で、パッケージは Windows 10 OS バージョン、MinVersion より大きいデプロイのみ。On Windows 10, the package will only be deployed on Windows 10 OS versions greater than the MinVersion. 他の Windows 10 以外のプラットフォームで MinVersion と MaxVersionTested パラメーターは使用すると、パッケージのコンテンツを抽出するかどうかの宣言に使用されません。On other non-Windows 10 platforms, the MinVersion and MaxVersionTested parameters aren't used to make the declaration of whether to extract the package contents.

すべてのプラットフォーム (Windows 10 および Windows 10 以外) のパッケージを使用したい場合は、MinVersion と MaxVersionTested パラメーターを使用する、アプリが動作するようには、Windows 10 の OS バージョンを指定することをお勧めします。If you would like to use the package for all platforms(Windows 10 and non-Windows 10), we recommend that you use the MinVersion and MaxVersionTested parameters to specify the Windows 10 OS Versions where you would like your app to work. したがって、マニフェストの依存関係セクションは次のようになります。So your manifest's Dependencies section would look like this:

  <Dependencies>
    <TargetDeviceFamily Name="Platform.All" MinVersion="0.0.0.0" MaxVersionTested="0.0.0.0"/>
    <TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.14393.0" MaxVersionTested="10.0.16294.0"/>
  </Dependencies>

MinVersionMaxVersionTestedマニフェストで必須のフィールドは、クアッド notation(#.#.#.#) に準拠する必要があります。MinVersion and MaxVersionTested are required fields in the manifest and they need to conform the quad notation(#.#.#.#). として「0.0.0.0」を使用できます Windows 10 以外のプラットフォームのみ MSIX パッケージ SDK をのみ使用する場合、 MinVersionMaxVersionTestedバージョンとして。If you are only using the MSIX packaging SDK for only non-Windows 10 platforms, you can simply use '0.0.0.0' as the MinVersion and MaxVersionTested as the versions.

すべてのプラットフォーム (Windows 10 および Windows 10 以外) で、同じパッケージを効果的に使用する方法How to effectively use the same package on all platforms (Windows 10 and non-Windows 10)

MSIX パッケージの SDK のほとんどと同時に他のプラットフォームでサポートされている Windows 10 でのアプリ パッケージと同様に展開される方法でパッケージを作成する必要があります。To make the most of the MSIX Packaging SDK, you will need to build the package in a way that will be deployed like an app package on Windows 10 and at the same time supported on other platforms. Windows 10 でとしてパッケージをビルドすることができます、アプリ拡張機能します。On Windows 10, you can build the package as an App Extension. アプリ拡張機能と拡張可能なアプリを作成を支援する方法の詳細については、次を参照してください。、アプリ拡張機能の概要ブログの投稿。For more information about App Extensions and how they can help make your app extensible, see the Introduction to App Extensions blog post.

この記事で前述したマニフェスト ファイルの例で表示されます、プロパティ内の要素、 AppExtension要素。In the manifest file example shown earlier in this article, you will notice a Properties element within the AppExtension element. マニフェスト ファイルのこのセクションで実行される検証はありません。There is no validation performed in this section of the manifest file. これにより、開発者がアプリの拡張機能とホスト/クライアント間で必要なメタデータを指定できます。This allows developers to specify the required metadata between extension and host/client app.