コマンドラインからWindowsのモダンアプリを起動できないのはもう昔の話?その知識、ホントに正しい? Windowsにまつわる都市伝説(200)

「Windowsのモダンアプリは、コマンドプロンプトから起動することができない」――これをWindows 8で初めて登場(当時は「Metroアプリ」とも呼ばれていました)したときからの常識と思って、諦めていませんか? 実は、全てのモダンアプリではありませんが、数年前からコマンドラインから起動できるものが出始め、一部のビルトインアプリもそうなっています。

» 2021年12月22日 05時00分 公開
[山市良テクニカルライター]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「Windowsにまつわる都市伝説」のインデックス

Windowsにまつわる都市伝説

「C:\Windows\System32\mspaint.exe」はないのにペイントが起動する謎

 「Metro(メトロ)アプリ」「ストアアプリ」「ユニバーサルWindowsプラットフォーム(UWP)アプリ」など、さまざまな呼び名で呼ばれる、あるいは呼ばれてきたWindowsのモダンアプリは、従来のWin32アプリケーションのように実行可能ファイルを単に起動するのではなく、「アクティブ化(Activation)」という手続きを経て初めて起動できます。

 モダンアプリは通常、「Windows 10」の(モダン)スタートメニューやタスクバーのタイル、ピン留め、検索機能から起動できます。そのため、長い間、コマンドプロンプトからは直接起動することはできませんでした。

 デスクトップにショートカットを作成して簡単に起動したい、バッチファイルから起動したい、RemoteAppプログラムとして公開したいといった、ユーザーや管理者はその望みをかなえられず、早々に諦めたと思います。PowerShellの複雑なスクリプトを書くことで目的を実現することもできるようですが、大衆向けではありません。

 実は、現在のWindows 10や「Windows 11」では、コマンドプロンプトから起動できるモダンアプリが確かに存在します。例えば、Windows 11では「ペイント」がモダンアプリ化され、従来の「C:\Windows\System32\Mspaint.exe」は提供されなくなりました。しかし、コマンドプロンプトで「mspaint.exe」または「mspaint」とタイプすると、モダンアプリ版のペイントが起動してくれます(画面1)。

画面1 画面1 「C:\Windows\System32\mspaint.exe」は存在しないのに、どこのパスから「mspaint.exe」とタイプしても、ストアアプリ版ペイントが起動する

Windows 10 バージョン1709からサポートされた「AppExecutionAlias」のおかげ

 モダンアプリ版ペイントの実際のアプリ実行可能ファイルは、「C:\Program Files\WindowsApps\Microsoft.Paint_11.2110.0.0_x64__8wekyb3d8bbwe\PaintApp\mspaint.exe」にあります(実は、フルパスで指定しても起動できますが、今回とは別の話です。別のアプリでは「アクセスが拒否されました」と表示されて起動できないものもあり、それが本来の期待された動作です)。

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

AI for エンジニアリング
「サプライチェーン攻撃」対策
1P情シスのための脆弱性管理/対策の現実解
OSSのサプライチェーン管理、取るべきアクションとは
Microsoft & Windows最前線2024
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

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

メールマガジン登録

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