<uap:VisualElements>タグを調べる
UWPアプリのもう1つの名前が、タイルに表示されるDisplayNameだ。仕様書によれば、これは、<uap:VisualElements>タグのDisplayName属性で指定されている。
●AppxManifest.xml uap:VisualElementsタグ
https://docs.microsoft.com/ja-jp/uwp/schemas/appxpackage/uapmanifestschema/element-uap-visualelements
タグにネームスペースがあるため、SelectNodesでは、ネームスペースを指定する必要があるが、PowershellでXMLをオブジェクトのように扱うとネームスペースを良い具合に無視してくれる。これを使って、インストールされているUWPアプリのVisualElementsタグの状態を調べるには
(Get-AppxPackage -PackageTypeFilter Main | Get-AppxPackageManifest).Package.Applications.Application.VisualElements | Out-GridView
とする。
こちらも、“ms-resource:”で実際の値がリソース側にあるものだけでなく、直接指定されているものがある。
具体的に特定のAppxManifest.xmlからタイルに表示される名前(VisualElementsタグDisplayName属性)を取り出すには、
$Manifest.Package.Applications.Application.VisualElements.GetAttribute('DisplayName')
とする。
★
これらの結果と前回までの解析を組みあわせると、UWPアプリの日本語名を取り出すことができる。それ以外にもさまざまな情報を取り出すことができる。有用なのは、UWPアプリをURLで起動するときのスキーム名を取り出せることだろう。これは、
(Get-AppxPackage "*News*" | Get-AppxPackageManifest).Package.Applications.Application.Extensions.Extension.protocol.Name
でできる。BingNewsの場合、「bingnews」、「msnnews」、「msnews」の3つのスキーム名が表示されるが、どれもURLを開くスタイルで行うアプリ起動(に利用できる。Powershellやコマンドプロンプトからはstartコマンドを使って
start bingnews://
とする。他のアプリでも、調べればURI起動が可能になる。
これで、UWPアプリのインストール先やリソースフォルダーにあるresources.priとAppxManifest.xmlから情報を引き出せるようになった。なお、C:\Windows以下にあるシステム系のAppxパッケージは、UWPとは違った構造になっているため、必ずしも今回のやり方で情報が得られるわけではないが、基本は同じである。Appxである以上、必ずAppxManifest.xmlがある。
本記事はアフィリエイトプログラムによる収益を得ている場合があります

この連載の記事
-
第537回
PC
PowerShellをシェルとして使うためのポイントを解説 -
第536回
PC
Microsoft製のコンソールエディタMS-Editが2.0になり、文法ハイライト機能が搭載 -
第535回
PC
WSLコンテナーのプレビューを試す 今年はWSLに動きがありそうだ -
第534回
PC
Windows 11におけるアプリインストーラーとwinget -
第533回
PC
PCの世界ではすっかり存在感が薄くなった光学メディアをあらためて整理 -
第532回
PC
モニターの情報が含まれる「VESA EDID」をWindowsで調べる方法 -
第531回
PC
Windowsのコンソール上でUnix/Linuxの標準的なコマンドを動かす「Windows CoreUtils」 -
第530回
PC
Windows 11でタスクバーの位置の移動機能が復活するのは結局どうなった? プレビュー版の現状を見る -
第530回
PC
PowerShellをシェルとして使うためのポイント【情報表示のやり方】 -
第529回
PC
Windowsの標準スクリプト言語であるPowerShellの現状をあらためて紹介する -
第528回
PC
Windows 11の標準機能でメモリに問題がないかを診断する - この連載の一覧へ











