Max Morris Principal Program Manager Microsoft Corporation 2/24/2019 6:50 PM HW-275T Building and delivering a great Metro style app for your device デバイス用 Metro スタイル アプリの開発と配布 Max Morris Principal Program Manager Microsoft Corporation © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
免責事項 本プレゼンテーション (以下、本書) で提供されている情報は、本書が 発表された時点における Microsoft の見解を述べたものです。市場 ニーズの変化に対応する必要があるため、本書は記載された内容の実 現に関する Microsoft の確約とはみなされないものとします。また本 書に記載された情報の正確さについて、保証するものではありません。 本書は情報の提供のみを目的としており、明示または黙示に関わらず、 本書について Microsoft はいかなる保証をするものでもありません。 本書に記載されている機能名や用語の日本語訳は、あくまでも暫定的 なものであり、将来変更される可能性があります。
アジェンダ Metro スタイル アプリを使ってデバイスを差別化する方法 デバイス エクスペリエンスの構造 デバイス エクスペリエンスの開発ライフサイクル 理解していただきたいこと デバイス用の Metro スタイル アプリの開発方法 Windows 8 対応のデバイス エクスペリエンスの構築方法
デバイスを差別化する Metro スタイル アプリを開発可能。配布は Windows が実行。
Metro スタイル デバイス アプリが 実現すること アプリのユーザーへの自動配布 画面のすべてを自由にデザイン 標準の Windows エクスペリエンスとのスムーズな統合 デバイスとドライバーのカスタム機能の使用 簡単で包括的なツールの活用
Metro スタイル アプリを使って デバイスを差別化する方法
デモ LifeCam Studio 2/24/2019 6:50 PM © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Metro スタイル アプリの開発 画面のすべてを自由にデザイン 一般的なツールと使い慣れた言語を使用 Web サービスと統合 アプリ コントラクト経由で Windows と統合
デバイスのアプリを差別化するには デバイスのセットアップ時に Windows がアプリを インストールする アプリがデバイス上の特定機能にアクセスできる ようにする アプリがアプリ コントラクトを使って標準の エクスペリエンスを拡張できるようにする
Metro スタイル デバイス アプリは、 標準の Windows エクスペリエンスを 自然な形で拡張する
標準の Windows エクスペリエンス アプリ 印刷 Windows にはデバイス用の 標準のエクスペリエンスが用意されている アプリは、これらのエクスペリエンスをアプリ コントラクト 経由で必要に応じて拡張できる リモート再生 キャプチャ 接続 共有
LifeCam のアプリは キャプチャ エクスペリエンスを拡張 Studio キャプチャ カメラのオプションを変更
デバイス エクスペリエンスの構造
+ + + + アプリ メタ デバイス エクスペリエンスの構成要素 Metro スタイル アプリ デバイス デバイス ドライバー デバイス メタデータ
デバイス メタデータ デバイス メタデータ パッケージ PackageInfo DeviceInfo デバイス メタデータ パッケージ PackageInfo DeviceInfo デバイス、ドライバー、アプリを 連携させる XML ファイル デスクトップ エクスペリエンスを作成し、Windows 7 の下位レベルで動作する XML およびグラフィック ファイル DeviceStage WindowsInfo SoftwareInfo ServiceInfo シグネチャ
デバイスの識別 開発者: プラグ アンド プレイ ID を指定し... ...その ID をデバイスに追加すると、Windows にレポートされる
アプリとデバイス メタデータの識別 メタ アプリ 開発者: デバイス エクスペリエンス ID として GUID を生成
+ ドライバー、メタデータ、アプリの連携 メタ アプリ Winqual: デバイスとデバイス ドライバーの Certification を検証 Microsoft: デバイス ドライバー パッケージに署名 Winqual: デバイス ID とデバイス メタデータ内のデバイス エクスペリエンス ID を検証 メタ Microsoft: デバイス メタデータ パッケージに署名 Winqual: アプリ内のデバイス エクスペリエンス ID を検証 アプリ Store: アプリを検証
デバイス エクスペリエンスの連携 Windows: セットアップ時にデバイス ID を読み取る メタ 特権アクセス (許可された デバイス メタデータ内で指定) デバイス メタデータ内で指定されたデバイス アプリを アクティベートし、標準の エクスペリエンスを拡張 Windows: アプリ情報を デバイス メタデータから読み取り、アプリをインストール アプリ コントラクト
デバイス エクスペリエンスの 開発ライフサイクル
開発ライフサイクル 計画 開発 配布 更新
ハードウェアとソフトウェアの 統合を計画する
デバイス エクスペリエンスの計画 エクスペリエンスを差別化するためのソフトウェアとハードウェアの統合を計画 専用の機能を計画し、Windows 8 Certification に対応 アプリ 専用の機能を活用し、標準の Windows エクスペリエンスを拡張 メタ デバイスの識別方法を決定し、提供地域に対応
ドライバー、アプリ、メタデータを開発し、提供するソフトウェアを完成させる
デバイス エクスペリエンスの開発 必要なカスタム機能をデバイスに実装 デバイス ドライバー内の専用機能へのアクセスを提供
ドライバー nx6000.inf ; Copyright (C) Microsoft Corporation. All rights reserved. ; Last modified: 08/05/2011 ... [Manufacturer] %Msft%=Microsoft, NTamd64.6.1, NTamd64.6.2 [Microsoft.NTamd64.6.1] %USBVideoHDStudio.DeviceDesc%=USBVideoHDStudio,USB\VID_045E&PID_0772&MI_00 [MSHUSBVideo.RegSvr32.LcMFT.AddReg] ; LcMFT 1.0 Type Library HKCR,TypeLib\{700e5317-7d3d-4590-a0b7-d60c84f0b4f1}\1.0\0\win64,, 0x00004000,"%16422%\Microsoft LifeCam\DriverComponents\LcMft.dll" ; LcMft Interfaces HKCR,Interface\{21F14081-87BE-4508-92FC-8794BC167B92},,0x00004000,"ITrueColorConfig" HKCR,Interface\{4BADA25D-2B53-4691-A9F5-4387CA1512F8},,0x00004000,"IVisualFxConfig" © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
デバイス エクスペリエンスの開発 必要なカスタム機能をデバイスに実装 デバイス ドライバー内の専用機能へのアクセスを提供 アプリ デバイスを使用し、適切なアプリ コントラクトをすべてサポート
2/24/2019
アプリ StoreManifest.xml <?xml version="1.0" encoding="UTF-8"?> <StoreManifest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="StoreManifest.xsd" xmlns="http://schemas.microsoft.com/appx/2010/StoreManifest"> <ProductFeatures> <DeviceCompanionApplication> <ExperienceIds> <ExperienceId>0f29ee8f-0a6c-45b0-be33-8d45fadeb625</ExperienceId> </ExperienceIds> </DeviceCompanionApplication> </ProductFeatures> </StoreManifest> © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
アプリ AppxManifest.xml <?xml version="1.0" encoding="utf-8"?> <Package xmlns="http://schemas.microsoft.com/appx/2010/manifest"> ... <Applications> <Application Id="lifecamsettings.App" Executable="lifecamsettings.exe" EntryPoint="LifeCamSettings.App"> <SplashScreen Image="SplashScreen.png" /> </VisualElements> <Extensions> <Extension Category="windows.cameraSettings" Executable="lifecamsettings.exe" EntryPoint="LifeCamSettings.App" /> </Extensions> </Application> </Applications> </Package> © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
アプリ DashboardView.xaml <UserControl x:ConnectionId='1' x:Class="LifeCamSettings.DashboardView" ...> ... <Grid x:Name="LayoutRoot" Background="{StaticResource BasicBackgroundBrush}"> <ScrollViewer HorizontalScrollMode="Disabled" ZoomMode="Disabled"> <StackPanel> <TextBlock x:Name="EffectsLabel" Style="{StaticResource LabelText}" Text="Effects"/> <ListView x:ConnectionId='4' x:Name='Effects' Background="Black" Template="{StaticResource listboxStyle}" SelectedIndex="{Binding SelectedEffectIndex, Mode=TwoWay}" ScrollViewer.VerticalScrollBarVisibility="Hidden" © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
デバイス エクスペリエンスの開発 必要なカスタム機能をデバイスに実装 デバイス ドライバー内の専用機能へのアクセスを提供 アプリ デバイスを使用し、適切なアプリ コントラクトをすべてサポート メタ デバイスを識別し、インストール用にアプリを宣言し、特権を取得
デバイス メタデータ ツールの バックグラウンドで実行されていること
デバイス メタデータ PackageInfo.xml <?xml version="1.0" encoding="utf-8" standalone="yes"?> <PackageInfo ... <MetadataKey> <HardwareIDList> <HardwareID>DOID:USB\VID_045E&PID_0772&MI_00</HardwareID> </HardwareIDList> <Locale default="true">en-US</Locale> <LastModifiedDate>2011-08-05T17:06:33Z</LastModifiedDate> <MultipleLocale ...>true</MultipleLocale> </MetadataKey> ... © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
デバイス メタデータ PackageInfo.xml ... <PackageStructure> <Metadata ...>PackageInfo.xml</Metadata> <Metadata ...>DeviceInformation</Metadata> <Metadata ...>WindowsInformation</Metadata> <Metadata ...>DeviceStage</Metadata> <Metadata ...>SoftwareInfo</Metadata> </PackageStructure> <Relationships> <ExperienceID>0f29ee8f-0a6c-45b0-be33-8d45fadeb625</ExperienceID> </Relationships> <MetadataBuilderInformation> <Application>Microsoft Device Metadata Package Authoring Tool</Application> <Version>1.0</Version> </MetadataBuilderInformation> </PackageInfo> © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
デバイス メタデータ SoftwareInfo.xml <?xml version="1.0" encoding="UTF-8"?> <SoftwareInfo ... <DeviceCompanionApplications> <Package> <Identity Name="lifecamsettings" Publisher="CN=Microsoft"/> <Applications> <Application Id="lifecamsettings.App"/> </Applications> </Package> </DeviceCompanionApplications> </SoftwareInfo> © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
配布は Windows サービスが実行する
デバイス エクスペリエンスの配布 デバイスとデバイス ドライバーに対して Windows 8 Certification テストを実行 Winqual にデバイス ドライバーを申請し、 Windows Update から配布 アプリ アプリを Windows Store に提出 メタ デバイス メタデータ パッケージを Winqual に提出し、Windows Metadata and Internet Services から配布
アプリへの機能追加は、更新プログラムを使って簡単に実行できる
デバイス エクスペリエンスの更新 1 つのデバイス エクスペリエンスを複数のデバイスに適用できる 古いドライバーがある場合、Windows は新しい ドライバーを自動でインストールしない アプリの更新プログラムはユーザーが手動で インストールすることで、ドライバーの強力な バージョン管理を実現 アプリ メタ 更新されたデバイス メタデータは Windows が自動インストール
まとめ
デバイスを差別化する Metro スタイル アプリを開発可能。配布は Windows が実行。
Metro スタイル デバイス アプリが 実現すること アプリのユーザーへの自動配布 画面のすべてを自由にデザイン 標準の Windows エクスペリエンスとのスムーズな統合 デバイスとドライバーのカスタム機能の使用 簡単で包括的なツールの活用
関連セッション [HW-745T] Reimagining the experience for connecting with devices [HW-283T] Introducing Metro style device apps [HW-715T] Building a great Metro style device app for your camera [HW-288T] Building great Metro style apps for mobile broadband devices [HW-652T] Building a great Metro style app for your printer [HW-747T] Building Metro style apps that connect to specialized devices [PLAT-905C] Under the hood: installation and updates for Metro style apps [HW-235T] Developing drivers in Visual Studio [HW-907C] Inside the Windows 8 driver developer workflow
その他の参照リソースとドキュメント Reimagining the Device Experience for Windows 8 (英語) Metro style device app (英語) Windows デベロッパー センター ホーム ご質問は Windows デベロッパー センター フォーラム (英語): http://forums.dev.windows.com 投稿記事のタイトルに「Build Session #275」を追加してください
thank you Feedback and questions http://forums.dev.windows.com Session feedback http://bldw.in/SessionFeedback
2/24/2019 6:50 PM © 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. © 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.