WINDOWS ストア アプリのサイドローディングについて
こんにちは、Platform SDK (Windows SDK) サポートチームです。
さて、Windows ストア アプリの開発者の方の中には、アプリをリリースする際、どうやって
配布しよう?と悩まれることもあるかと思います。
従来のデスクトップ アプリケーションとは異なり、ストア アプリのリリースにあたっては、次の 2 通りのいずれかで配布することになります。
・Windows ストアに公開する
・サイドローディングでアプリを展開する
アプリのユーザーが、あらかじめ特定の企業や個人に制限されている場合は、ストアにアプリを公開して、関係の無いユーザーにダウンロードされても困ると考えて、サイドローディングの実施を検討される開発者の方も多いかと思います。
そんな方達に向けて、サイドローディングの要件、必要なライセンスおよび実施手順などなど、サイドローディングについて全体的に紹介しますので、サイドローディング実施を検討する際に、ぜひご参照ください。
1. サイドローディングの要件
Windows ストア アプリをサイドローディングする際には、次の要件を満たす必要があります。
●アプリの要件
(1) アプリは、信頼できるルート証明書にチェーンされた証明書を使って署名されている。
●サイドローディングを実施するコンピューターの要件
(2) 指定のOS が実行されている。
(3) サイドローディングが有効化されている。
(1) について
この証明書は対象マシンで信頼されている必要があるだけで、信頼された証明機関から発行されたものでなくてもかまいません。パッケージ
マニフェスト内の発行者名は、アプリ パッケージに署名するために使われている証明書内の発行者名と同じである必要があります。
Windows は追加の構成なしに多くの証明機関を信頼しています。証明書が既に信頼されている機関のいずれかから取得したものである場合、ターゲットのマシンに追加の証明書を展開して管理する必要はありません。
また、社内の証明機関を使ってアプリに署名することもできます。その場合は、CA 証明書がターゲット
マシンの Windows イメージにインストールされていることを確認する必要があります。
(2) について
2014/2 月時点、サイドローディングに対応した OS は次の通りとなります。
・ Windows 8 Enterprise/Windows 8 Pro/Windows RT
・ Windows 8.1 Enterprise/Windows 8.1 Pro/Windows RT 8.1
・ Windows Server 2012
・ Windows Server 2012 R2
残念ながら、無印 (Enterprise や Pro ではない) Windows 8 と Windows 8.1 は対応していません。もしユーザーが電器店で無印のWindows 8 or Windows 8.1 がインストールされた PC を購入して来ていた場合は、サイドローディングは実施できないということになります。くれぐれもご注意ください。
(3) について
それぞれの OS によって、サイドローディングを有効化する手順は異なります。
Windows 8 Enterprise 、Windows 8.1 Enterprise、Windows 8.1 Pro with Update※、 Windows Server 2012 および Windows Server 2012 R2
・ドメインに参加させることでサイドローディングが有効になります。
・ドメインに参加させなくても、ボリュームライセンスのマルティプル アクティベーション キー (MAK) を使用して、サイドローディングを有効にすることができます。
・グループ ポリシー設定の “信頼できるすべてのアプリのインストールを許可する” (※ 1) を有効にします。
※Windows 8.1 Pro は 2014 年 4 月 にリリースされた Update (KB2919335) がインストールされた環境から Windows 8.1 Enterprise と同じ手順でサイドローディングができるようになりました。Update がインストールされていない Windows 8.1 Pro 環境は引き続きサイドローディング プロダクトキーが必要になります。本ブログ下部にある参考情報 Windows 8.1 Update: Sideloading Enhancements にもこの情報が公開されています。
Windows 8 Pro 、Windows 8.1 Pro、Windows RT および Windows RT 8.1
・エンタープライズ サイドローディング プロダクトキーを購入し、プロダクトキーのライセンス認証を行います。
・グループポリシー設定の “信頼できるすべてのアプリのインストールを許可する” を有効にします。
(※ 1) “信頼できるすべてのアプリのインストールを許可する” は、次のグループ ポリシー項目から設定できます。
[コンピューターの構成] – [管理用テンプレート] – [Windows コンポーネント] – [アプリ パッケージの展開]
2. エンタープライズ サイドローディング プロダクトキーの購入先
エンタープライズ サイドローディング プロダクトキーは、Open License、Select Plus いずれかのライセンス プログラムにて購入が可能です。2014年 2 月現在、Windows 8.1 Enterprise Sideloading (10 Pack) と Windows 8.1 Enterprise Sideloading (100 Pack) があるのが、次のドキュメントより確認できます。
製品使用権、製品一覧およびライセンス
トピックス
https://www.microsoft.com/ja-jp/licensing/about-licensing/product-licensing.aspx#tab=2
ボリューム ライセンスプログラム共通製品表 (2014 年 2 月版)ボリューム ライセンスプログラム共通製品表(2014 年 2 月版)
https://www.microsoftvolumelicensing.com/Downloader.aspx?DocumentId=7207
※ Select Plus では、発注いただいた弊社製品のポイント数によって価格レベルが変わります。
弊社製品を多くご購入いただくと、レベルが A → B → C → D とアップします。具体的には
次の PDF ファイルを参照ください。
Select Plus プログラム ガイド
エンタープライズ サイドローディング プロダクトキーは、ボリューム
ライセンス サービス センター (VLSC) から購入できます。
マイクロソフト ボリューム ライセンス サービス センター
https://www.microsoft.com/ja-jp/licensing/existing-customers/manage-my-agreements.aspx
ここまではサイドローディングを実施するための準備のお話しでしたが、次はいよいよ
サイドローディングで Windows ストア アプリを展開する手順について紹介します。
3. Windows ストア アプリを展開する
Windows ストア
アプリの展開は、OS 実行時に行うか、Windows イメージを使って行うことができます。
OS 実行時に展開する場合、展開を行ったカレント
ユーザーのみアプリを実行できますが、Windows イメージを使う場合はすべてのユーザーでアプリを実行できるようになります。
それぞれの展開手順は次の通りとなります。
3-1. OS 実行時、カレント ユーザーに展開する
Windows PowerShell プロンプトを使用して、次の手順で簡単に実行できます。
1) 対象マシンにログオンします。このとき、ビルトインのローカルまたはドメインの Administrator アカウントではアプリを実行できないため別のアカウントでログオンします。標準のユーザー アカウントを使用できます。
2) スタート画面で、「PowerShell」と入力して、Enter キーを押します。
3) Windows PowerShell プロンプトで、次のコマンドを実行します。” C:\Sample\SampleApp.appx” の部分には、実際に展開するパッケージのパスを指定します。
import-module appx add-appxpackage ” C:\Sample\SampleApp.appx”
4) インストールを監視して、終了後に Windows PowerShell ウィンドウを閉じます。
3-2. Windows イメージを使ってすべてのユーザーに展開する
展開イメージのサービスと管理 (DISM) のコマンド ライン ツールを使います。DISM を使用して、コンピューターを共有するすべてのユーザー向けに、オンライン Windows イメージに Windows ストア アプリをプロビジョニングすることができます。
これを行うには、Add-ProvisionedAppxPackage オプションを使用します。
1) グループ ポリシー設定の “信頼できるすべてのアプリのインストールを許可する” が有効であることを確認します。これは次のレジストリから確認できます。
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Appx\AllowAllTrustedApps = 1
2) 管理者権限を持つアカウントを使って、対象マシンにログオンします。このとき、ビルトインのローカルまたはドメインの Administrator アカウントではアプリを実行できないため、ローカルの
Administrators グループに所属したアカウントを別に用意し、このアカウントでログオンすることをお勧めします。
3) スタート画面で、「PowerShell」と入力して、Ctrl + Shift + Enter キーを押します。
4) “ユーザー アカウント制御” 画面が表示されますので「はい」を選択します。
5) 管理者権限で Windows PowerShell プロンプトが表示されます。このプロンプトで次のコマンドを実行します。” C:\Sample\SampleApp.appx” の部分には、実際に展開するパッケージのパスを指定します。
・パッケージを実行中のOS にインストールする場合
DISM /Online /Add-ProvisionedAppxPackage /PackagePath:”C:\Sample\SampleApp.appx” /SkipLicense
・パッケージをオフラインイメージにインストールする場合
DISM /Add-ProvisionedAppxPackage /PackagePath:”C:\Sample\SampleApp.appx” /SkipLicense
4. まとめ
これで開発したストア アプリの展開は完了し、アプリを実行できるようになりましたね。
展開手順は簡単なので、前向きにご利用を考えてくださった方がいるかも知れませんが、その一方で、ライセンスでは注意が必要です。
たとえばユーザーが Windows 8 Pro 版もしくは Windows RT を使用している場合、OS をEnterprise 版にアップグレードするか、プロダクトキーを購入する必要があります。
プロダクトキーの第 3 者に転売・配布はライセンス上許諾されていませんので、「サイドローディングを実施するマシンを持つ企業または個人」自身がキーを購入する必要があります。つまり、アプリ開発者がストア
アプリのパッケージにプロダクトキーを付けてユーザーに渡すことはできず、ユーザーに Enterprise 版にアップデートしてもらうか、プロダクトキーの購入をお願いしなければならないこととなります。
いずれにしてもユーザーに費用をご負担いただくことになるため、アプリを展開する先の環境によっては、サイドローディングでは無く、ストアへの公開を選択される場合があるかと思います。
こちらのブログで紹介した内容を元に、どちらの方法でアプリをリリースするか、ぜひご検討いただければと思います。
* 参考情報
試してみる: Windows ストア アプリのサイドローディング
https://technet.microsoft.com/ja-jp/windows/jj874388.aspx
エンタープライズ アプリの展開
https://msdn.microsoft.com/ja-jp/library/windows/apps/jj657971.aspx
Windows ストアへのクライアント アクセスの管理
https://technet.microsoft.com/ja-jp/library/hh832040.aspx
Windows 8 ボリューム ライセンス ガイド
Windows 8.1 Update: Sideloading Enhancements
https://blogs.windows.com/itpro/2014/04/03/windows-8-1-update-sideloading-enhancements/