PowerShellでMSIXアプリ(Storeアプリ)を起動する方法|AppUserModelIdとURIスキーム活用術
2025-05-07
Windows 10や11で普及している「Microsoft Storeアプリ(MSIX形式)」は、従来のexeアプリとは異なり、直接パスから起動することができません。しかし、PowerShellを使えば、これらのMSIXアプリも自在にコントロール可能です。本記事では、Slackなどの代表的なStoreアプリをPowerShellから起動する2つの方法をご紹介します。
方法①:AppUserModelIdを使ってMSIXアプリを起動する
MSIX(Store)アプリは、固有の AppUserModelId によって識別されます。このIDを使えば、PowerShell経由でStoreアプリを起動することが可能です。
ステップ1:AppUserModelIdを取得
以下のコマンドをPowerShellで実行して、アプリのAppID(AppUserModelId)を確認します。
Get-StartApps
ただし、このコマンドではIDの一部が切れて表示されることがあります。完全なIDを取得したい場合は、PowerShell+COMを利用した以下のスクリプトを使いましょう。
$apps = New-Object -ComObject "Shell.Application"
$folder = $apps.Namespace("shell:AppsFolder")
$items = $folder.Items()
foreach ($item in $items) {
$name = $item.Name
$appId = $item.ExtendedProperty("System.AppUserModel.ID")
if ($name -like "*retoolfavicon*") {
Write-Output "$name : $appId"
}
}
このスクリプトでStoreアプリのAppUserModelIdが正確に取得できます。
Get-ChildItemでレジストリからPackageIDを取得することもできます
Get-ChildItem "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\Repository\Packages" -Recurse |
Where-Object { $_.Name -like "*retoolfavicon*" } |
Get-ItemProperty
ステップ2:PowerShellから起動
以下のコマンドでStoreアプリを起動できます。
Start-Process "explorer.exe" "shell:AppsFolder\18668B87B35FC.Retoolfavicon_wxbvragbbe488!App"
この形式で他のMSIXアプリも起動可能です。
方法②:URIスキーム(カスタムプロトコル)で起動する
一部のMSIXアプリは、カスタムのURIスキーム(例:slack://
)を登録しています。SlackやTeamsなどがこれに該当します。
PowerShellでの実行例
Start-Process "slack://open"
この方法は、アプリがURIスキームを登録している場合にのみ機能します。確認するには、次のレジストリパスを調べます。
Get-ItemProperty "HKCU:\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\slack\UserChoice"
MSIXアプリもPowerShellで自在に起動できる!
Microsoft Storeアプリ(MSIX形式)は、従来の.exe形式とは異なるため扱いが難しいと感じるかもしれません。しかし、AppUserModelIdを利用することで、PowerShellから簡単に起動できます。また、URIスキームを活用すれば、さらに柔軟な起動が可能です。
開発・運用の自動化やバッチ処理、スクリプトによる統合など、あらゆる場面で活用できますので、ぜひ活用してみてください。
WinUI 3 / XAML の Grid.Width 設定方法
WinUI 3でMenuFlyoutをShowAtで表示する方法【コード付き解説】
MenuFlyout は WinUI 3 で便利なポップアップメニュー
WinUI 3の開発で混乱しがちな「空白のウィンドウ」と「空白のページ」の違い
PowerShellでMSIXアプリ(Storeアプリ)を起動する方法|AppUserModelIdとURIスキーム活用術