開発者が知っておくべき、ライブラリとしてのWindowsランタイム特集:デスクトップでもWinRT活用(1/5 ページ)

WinRTは「Windowsストア・アプリのためだけの実行環境とライブラリ」ではない?! デスクトップ・アプリからWinRTを使う方法を解説する。

» 2013年04月26日 11時46分 公開
[荒井省三日本マイクロソフト]
特集:デスクトップでもWinRT活用
業務アプリInsider/Insider.NET

powered by Insider.NET

「特集:デスクトップでもWinRT活用」のインデックス

連載目次

 Windowsランタイム(以降、WinRT)は、「Windowsストア・アプリのため実行環境とライブラリ」と理解する人が一般的である。イマーシブな(=没入型の)画面を持つアプリを作成するのに便利な機能を、WinRTが提供してくれるのは確かな事実である。しかし、Appxパッケージを追加するコマンドレットを提供することで、Windowsストア・アプリを管理する方法をデスクトップ環境にも用意している(詳細後述)のがWindows 8というOSだ。この事実を考えると、WinRTをデスクトップから使う方法もあるはずだと思い付くべきである。本稿では、デスクトップ・アプリからのWinRTの使い方を説明していくことにする。

VS魂100連発

本稿で説明する内容は、VS魂100連発の「VS100-015デスクトップアプリからWindows Runtimeを使用する」のビデオでも説明している技術内容を文章化したものである。また、この内容は、2012年11月の「MVP Open Day」というイベントでも説明している。もし、身近にMVPがいるのであれば、その人にさらに詳しく聞いていただきたい。


Windowsランタイムとは?

 「Windowsランタイム(WinRT)とは何か」をひと言でいえば、「Windowsストア・アプリを動かすための実行環境(とライブラリ)」ということになる。この説明だけを見たら、従来型のデスクトップ・アプリの世界においては、WinRTは無用のものに感じられるかもしれない。

 しかし、Windows 8というOSの位置付けを考えると、Windowsストア・アプリに関しても企業内で利用(グループポリシーによる管理)できなければならないはずだ。すなわち、Windowsストア・アプリを管理するための何らかの手段が企業向けに提供されているはずだと気が付くはずだ。事実として、次のような方法がPowerShellのコマンドレットとして提供されている(なお、PowerShellは、.NET Frameworkを基盤としたコマンドライン・ベースの管理ツールである)。

コマンドレット 用途
Add-AppxPackage Windowsストア・アプリ(Appxパッケージ)のインストール
Get-AppxLastError Winddowsストア・アプリのインストール・ログから、最新のエラー情報を取得
Get-AppxLog Winddowsストア・アプリのインストール・ログを取得
Get-AppxPackge インストールされたWindowsストア・アプリの一覧を取得
Get-AppxPackageManifest Windowsストア・アプリのアプリケーション・マニフェストを取得
Remove-AppxPackage Windowsストア・アプリのアンインストール
Windowsストア・アプリのインストール用PowerShellコマンドレット

 Windowsストア・アプリの開発者向けには、次のようなコマンドレットも提供されている。

コマンドレット 用途
Get-WindowsDeveloperLicense Windows開発者ライセンス情報を取得
Show-WindowsDeveloperLicenseRegistration Windows開発者ライセンスの登録を開始
Unregister-WindowsDeveloperLicense Windows開発者ライセンスの削除
Windows開発者ライセンス用のPowerShellコマンドレット

Appxパッケージと開発者ライセンス

 Windowsストア・アプリのインストール・パッケージには、Appxパッケージが使用される。Appxパッケージとは、OPC(Open Package Conventions)フォーマットのファイルを意味する。OPCフォーマットをひと言でいえば、Microsoft Officeのファイル・フォーマットである、OpenXMLで定められているファイルのパッケージング方法である。また、Appxパッケージはコード署名を持たなければならないという制約を持つ。

 企業内のWindowsストア・アプリをインストールするためには、署名済みのAppxパッケージとサイド・ローディング用のプロダクト・キーが必要になる。ただし、開発者はWindows開発者ライセンスを使用することで、未署名のWindowsストア・アプリも実行できる(開発者ライセンスは、永続的なライセンスではなく一定期間のみ有効で、開発を続けるにはライセンスの継続的な更新が必要となる)。なお、本稿は、PowerShellのコマンドレットを説明することを目的としていない。よって、コマンドレットの使い方は自分で学習してほしい。


デスクトップ・アプリとWinRTの関係

 MSDNライブラリには次のWinRT関連ドキュメントがある。

 これらのドキュメントから理解できることは、WinRTをデスクトップ・アプリから使えるということである。なぜなら、WinRTとは、

  • Windowsストア・アプリ用の実行環境とライブラリ、かつ
  • デスクトップ環境でWindowsストア・アプリを管理するためのライブラリ

であるからだ*1。そして、「管理するためのライブラリ」という側面を実際に試す方法を説明することが、本稿の目的である。

*1 例えば、上記の「マネージデスクトップアプリとWindowsランタイム」には「新しいWindowsランタイムAPIを使う新しいマネージデスクトップアプリを作る……」という記述があることから、WinRTをデスクトップ・アプリから使用可能なことが分かる。


       1|2|3|4|5 次のページへ

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。