비 Windows 10 플랫폼에서 MSIX 패키지를 배포 하려면 MSIX SDK를 사용 합니다.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. 이 통해 개발자는 대신 한 번 앱 콘텐츠를 패키지 하려면 각 플랫폼에 대 한 패키지입니다.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 대상 장치 제품군Target Device Family 참고Notes
Windows 10Windows 10 전화Phone





















Platform.AllPlatform.All























Windows.UniversalWindows.Universal Windows.MobileWindows.Mobile 모바일 장치Mobile devices
데스크톱Desktop 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 전화Phone Apple.Ios.AllApple.Ios.All Apple.Ios.PhoneApple.Ios.Phone iPhone, TouchiPhone, Touch
태블릿Tablet Apple.Ios.TabletApple.Ios.Tablet iPad Pro iPad mini, iPadiPad mini, iPad, iPad Pro
TVTV Apple.Ios.TVApple.Ios.TV Apple TVApple TV
보기Watch Apple.Ios.WatchApple.Ios.Watch iWatchiWatch
MacOSMacOS 데스크톱Desktop Apple.MacOS.AllApple.MacOS.All MacBook Pro, MacBook Air, Mac Mini, iMacMacBook Pro, MacBook Air, Mac Mini, iMac
AndroidAndroid 전화Phone 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
데스크톱Desktop Google.Android.DesktopGoogle.Android.Desktop ChromebooksChromebooks
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
Web MicrosoftMicrosoft Web.AllWeb.All Web.Edge.AllWeb.Edge.All Edge 엔진 webapp입니다.Edge web engine apps
AndroidAndroid Web.Blink.AllWeb.Blink.All Webapp 엔진 깜박임Blink web engine apps
ChromeChrome Web.Chromium.AllWeb.Chromium.All Chrome 웹 엔진 앱Chrome web engine apps
iOSiOS Web.Webkit.AllWeb.Webkit.All Webkit webapp 엔진Webkit web engine apps
MacOSMacOS Web.Safari.AllWeb.Safari.All Safari 웹 엔진 앱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.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

위의 샘플 매니페스트 파일에 플랫폼 이름 함께 매개 변수가 지정 된 MinVersion 하 고 MaxVersionTested 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에서 패키지를 MinVersion 보다 큰 Windows 10 운영 체제 버전에서 배포만 됩니다.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 운영 체제 버전을 지정 하는 것이 좋습니다.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>

MinVersion 하 고 MaxVersionTested 매니페스트에 필수 필드 이며 쿼드 notation(#.#.#.#) 준수 해야 합니다.MinVersion and MaxVersionTested are required fields in the manifest and they need to conform the quad notation(#.#.#.#). 비 Windows 10 플랫폼용만 MSIX 패키징 SDK를 통해서만 사용할 수 있습니다 단순히 '0.0.0.0'으로 MinVersion 하 고 MaxVersionTested 버전으로 합니다.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.