Windows 10でUWPアプリを起動する方法

Windows 10でUWPアプリを起動する方法

  • ASCII.jp
  • 更新日:2019/03/24

UWPアプリを起動する方法には5種類がある

UWPアプリケーションを起動するには、大きく5つの方法がある。1つ目は誰でも知っているスタートメニューから起動する方法である。スタートメニューを開いてアプリリストやタイルをクリックするだけだ。

2つ目は、タスクバーからの起動である。タスクバーには、UWPアプリを登録することが可能で、登録後にタスクバー上のアイコンのクリックで起動ができる。

3つめの方法は、ちょっとトリッキーだが、Microsoftストアアプリからの起動だ。UWPは原則すべてMicrosoftストアからインストールされる。このため標準添付のアプリであっても、Microsoftストアからインストールが可能なものは、すべてMicrosoftストアアプリから起動することができる。なおUWPアプリの起動は、Win32アプリと違って専用のAPIを使う必要があり、UWPアプリ内からはアプリケーションの名称を知っていれば比較的簡単にできる。

4つめの方法はURLを使う方法だ。例外もあるが、UWPアプリはURIのスキームとしてアプリケーションが登録されているため、特定のURLを開くようにすると、UWPアプリを起動することができる。

5つめの方法は、UWPアプリのショートカットを作る方法だ。Windowsのショートカット(.lnkファイル)は、通常のファイルなので、ファイルシステムのどこにでも置くことができ、これを使えば、コマンドラインからも直接UWPアプリを起動できる。今回はURLを使う方法とショートカットから起動する方法を説明したい。その前に確認の意味で、ちょっとUWPアプリについて解説しておく。

UWPアプリとAppxパッケージ

UWPアプリは、Windows 10とともにインストールされるか、Microsoftストア経由でインストールする。かつては、Windows 10の標準UWPアプリはアンインストールできなかったが、Windows 10 Ver.1809(RS5)から一部のUWPアプリは、スタートメニューでアンインストール可能になった。次の19H1(Windows 10 Ver.1903)ではさらに範囲が拡大する予定だ。もっとも現時点でも大半のUWPアプリは、PowerShellのRemove-AppxPackageコマンドレットを使うことで、削除できる。

Appxとは、UWPアプリケーションのパッケージ形式を指し、Microsoftストアは、このAppx形式のパッケージを使ってUWPアプリケーションをインストールする。Appxは以下の2ヵ所にインストールされている。

C:\Program Files\WindowsApps\
C*\Windows\SystemApps\

このうち、後者のフォルダーにおかれているアプリは、「NonRemovable」とされていて、PowerShellからもアンインストールができない。

このようなアプリには、Microsoft Edgeやコルタナ、Windowsセキュリティ(Defender)などがある。こうしたパッケージに関しては、PowerShellの「Get-AppxPackage」などを使うことで一覧を得ることが可能だ。なお、Get-AppxPackageでパッケージを特定できれば、Get-AppxPackageManifestを使って、後述するURL指定のスキーム(scheme)を調べることが可能になる。

たとえば電卓は、「Microsoft.WindowsCalculator_10.1812.10048.0_x64__8wekyb3d8bbwe」というパッケージ名を持つ。Get-AppxPackageコマンドでは、ワイルドカードを使って名前を指定できるため、その一部である「calc」とワイルドカードである「*」を組みあわせて

Get-AppxPackage "*calc*"

としてパッケージのオブジェクトを得ることができる。

No image

Get-AppxPackageコマンドレットでは、名前の指定にワイルドカードを使えるため、アプリの一部を指定するだけでパッケージ情報を表示できる。また、Get-AppxPackageManifestコマンドレットを使えば、UWPアプリのマニフェスト情報を得ることも可能だ

さらに、これにGet-AppxPackageManifestを使い、得られたxmlオブジェクトをアクセスすれば、アプリのスキームを得ることができる。そのためには、たとえば、以下のようにする。

(Get-AppxPackage "*calc*" Get-AppxPackageManifest).package.applications.application.extensions.extension.Protocol.name

この文は、カッコの中がアプリケーションの基本情報となるマニフェストを得る部分であり、結果はxmlオブジェクトなるので、カッコの外は、xmlの内部へのアクセスである。アプリケーション名は簡単には調べにくいのだが、後述するアプリのショートカットを作れば、そのプロパティから探すことが可能になる。

実はUWPアプリであるスタートメニュー

Windows 10のスタートメニューは、実はShellExperienceHostというUWPアプリケーションだ。Windowsのデスクトップは、Win32デスクトップアプリケーションであるWindows Explorerが表示していて、スタートメニューはその一部のように思えるが、実際には別プロセスになっている。

UWPアプリになっている理由は、UWPアプリケーションを起動するためと、スタートメニューに登録されている情報を、マルチセッション時にExplorerとは別に管理させたいからである。また、リモートデスクトップを使うとき、同一ユーザーが複数セッションで同時ログオンしてスターメニューにアクセスする可能性がある。UWPアプリは、シングルインスタンスで動作させることができるため、このような場合にスタートメニューのデータベースのアクセスで、共有違反を起こす可能性がない。

スタートメニューには、タイルをユーザーが自由に登録、配置できる。この情報は、PowerShellから以下のコマンドレットでアクセスすることが可能だ。

Export-StartLayout
Import-StartLayout

このとき、エクスポートして出てくるのは、xmlファイルであり、Import-StartLayoutはこれを読み込むことができる。もちろん、xmlファイルなので編集は可能なのだが、このxmlファイルについては仕様が公開されているわけではないので、多少の手直しぐらいしかできない。また、書き換えが正しいか、有効なのかについてはインポートしてみるしか方法がない。

さて、前述の方法で、ShellExperienceHostのスキームを調べると、「ms-actioncenter」「ms-penworkspace」「ms-screenclip」がある。それぞれ、アクションセンター、ペンワークスペース、画面切り取り(切り取り&スケッチ)を起動することができる。たとえば、コンソールから「start ms-actioncenter:」とすれば、アクションセンターが開く(要管理者権限)。

スキームによるUWPアプリの起動

UWPアプリは、開発時にスキームが定義されていれば、それを使ってURLを記述して、WebブラウザやExplorerのアドレス欄から起動することができる(ただし、UWPアプリはスキームを定義しないことも可能であり、すべてのUWPアプリがスキームを持つわけではないことに注意されたい)。たとえば、ブラウザのURL欄に「calculator:」と入力すれば、電卓アプリが起動する確認のメッセージボックスが表示される)。同様にExplorerのパス欄に入力してもよい。

No image

ウェブブラウザのURL欄にUWPアプリのスキーム(calculator:)を入れると、確認ののち、電卓アプリが起動する

また、管理者権限は必要になるが、コンソール(コマンドプロンプトウィンドウ)で「Start calculator:」としても電卓を起動させることが可能だ。スキームは前述のように、パッケージ名がわかれば、PowerShellで調べることもできるが、マニフェストファイルは、前記のAppxパッケージのインストール先にあるので、直接見てもよい。Explorerだとアクセスできないが、コマンドプロンプトでは、cdコマンドやdirコマンドを使ってパッケージのインストール先フォルダーをアクセスできる。

そこにある「AppxManifest.xml」を見れば、スキームなどを調べることも可能だ。

たとえば、前述の電卓アプリでは、

<Extensions>
<uap:Extension Category="windows.protocol">
<uap:Protocol Name="calculator">
<uap:Logo>Assets\CalculatorAppList.png</uap:Logo>
</uap:Protocol>
</uap:Extension>
<uap:Extension Category="windows.protocol">
<uap:Protocol Name="ms-calculator">
<uap:Logo>Assets\CalculatorAppList.png</uap:Logo>
</uap:Protocol>
</uap:Extension>
</Extensions>

となっていて、「Protocol Name=」の部分がスキームとなる。電卓アプリは、「calculator」「ms-calculator」でも起動できることがわかる。

UWPアプリのショートカットを作る方法

「アプリフォルダー」を使うと、UWPアプリのショートカットを作成することができる。これは、デスクトップアプリのショートカットと同じく、ファイルとして置ける場所なら、デスクトップを含め、どのフォルダーに置くこともでき、さらに、コマンドプロンプトから起動することもできる(こっちは管理者権限が不要)。また、バッチファイルに入れて起動することも可能だ。

アプリフォルダーは、Explorerのパス欄にシェルショートカット「shell:appsfolder」を入れて開く。ここには、インストールされてWindowsが認識しているアプリ(Win32とUWP)が並ぶ。スタートメニューのアプリリストとほぼ同じである(ただしフォルダー構造がない)。ここで、該当のUWPアプリ(ここでは仮に電卓アプリとしておく)のアイコンを右クリックする。

No image

アプリフォルダーで該当のアプリの右クリックメニューを使えば、UWPアプリのショートカットを得ることができる

すると「ショートカットの作成」があるのでこれを選択する。ただし、アプリフォルダーにはショートカットが作れず、デスクトップに置かれる。あとは、これを適当なフォルダーに移動させればよい(移動しなくてもいいが)。このショートカットのダブルクリックでいつでもアプリを起動できる。

ショートカットファイルはデフォルトの名前が長いので、calc.lnkに名前を変えるなどしたほうが扱いやすい。コマンドラインで「calc.lnk」(必要に応じてフルパスを記述)を起動すれば、普通に電卓アプリが起動できる。

なお、ちょっと面倒だが、PowerShellからは、ショートカットを作らずに直接アプリフォルダーにあるUWPアプリを起動することが可能だ。

start-process ("shell:AppsFolder\"+($x = Get-AppxPackage "*Calc*").packageFamilyName+"!"+($x Get-AppxPackageManifest).Package.Applications.Application.Id)

とすれば、電卓アプリが起動する。

この記事をお届けした
グノシーの最新ニュース情報を、

でも最新ニュース情報をお届けしています。

外部リンク

アプリカテゴリの人気記事

グノシーで話題の記事を読もう!
全国展開の前にマクドナルドのモバイルオーダーを試してみた!
AirDropで表示される名前は消せる?個人情報を出さずコンテンツを共有する方法
ジャックダニエル、ARで歴史を学べるアプリ配信
iPhoneのカメラ/写真アプリの意外な起動法
低価格、ダイエット向き、Bluetooth対応、アプリ連携、健康管理で活用したい体重計のおすすめ12選
  • このエントリーをはてなブックマークに追加