1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

UWP を管理できるコマンド集

Posted at

Universal Windows Platform(UWP)とは?

UWP とは、Microsoft が提供するアプリケーション開発のための統合プラットフォームであり、UWP は PC、スマートフォン、タブレット、Xbox など、さまざまなデバイスで動作するアプリケーションを単一のコードベースで開発できるように設計されています。

UWP で開発されたアプリを UWP アプリとよび、従来の Win32 系アプリに比べて、セキュリティ、パフォーマンス、アクセシビリティの向上しているとされています。

さまざまなデバイスで動作するとはいえ、UWP アプリは、PC で使用されるのがほとんどだと思います。この投稿も PC で動作している UWP アプリについての話です。

UWP アプリの種類

UWPアプリは、Microsoft ストアからダウンロード&インストールできるものと Windows OS の一部として動作しているものがあります。

従来は、C:\Windows\System32 配下にあったメモ帳、電卓、ペイントは、 UWP アプリへ置き換えが進み、電卓は Windows 10 で、メモ帳、ペイントは Windows 11 で Microsoft ストアから配信される UWP アプリになりました。これらのアプリは、Microsoft ストアからアプリの更新プログラムが配信されたり、アプリをアンインストールできるようになりました。なお、アンインストールしても Microsoft ストアを通じて再インストール可能です。

一方、Windows OS の一部として動作している UWP アプリは、アンインストールができません。スタートメニューや設定アプリは、Windows OS の一部として動作している UWP アプリの例になります。

UWP アプリの管理

UWP アプリは、ユーザーごとに管理されており、ユーザーの初回ログイン時にあらかじめ登録されている UWP アプリが自動でインストールされる仕組みになっています。Windows OS の一部として動作している UWP アプリは、自動でインストールされるのは、当然だと思いますが、Microsoft ストアから配信されるアプリもインストールされます。

メモ帳、電卓、ペイントは、初回ログイン時インストールされるリストにデフォルトで含まれているため、自動的にインストールされます。なお、初回ログイン時にインストールされる UWP リストは、カスタマイズできるので UWP 版の電卓をインストールしないようにすることも可能です。

PowerShell コマンド集

UWP のインストール状況を確認

インストールされている UWP アプリを確認できるコマンドは Get-AppxPackage になります。

ログインしているユーザー自身にインストールされている UWP アプリを確認する場合は、PowerShell を管理者ではなく、ユーザー権限で起動し、実行してください。

# PowerShell(ユーザー権限)
Get-AppxPackage | ConvertTo-json | Out-File -FilePath getAppxPackage_$env:USERNAME.json

PC にログインしたすべてのユーザーのインストール状況を確認したい場合には、PowerShell を管理者として起動して -allusers オプションを付与してコマンドを実行してください。

# PowerShell(管理者権限)
Get-AppxPackage -allusers | ConvertTo-json | Out-File -FilePath getAppxPackage_allusers.json

ユーザーごとにインストールされている UWP アプリは異なる場合があります。

ConvertTo-json は、Json ファイルで出力するために入れていますが、普通のテキストファイル(.txt)で出力する場合はなくても OK です。

インストールされているアプリをすべて更新

Microsoft Store でアップデート可能なバージョンが配信されている UWP アプリをすべて更新したい場合は、アップデートを実行したいユーザーの権限で PowerShell を起動し、以下の2つのコマンドを実行してください。

# コマンド1
[Windows.ApplicationModel.Store.Preview.InstallControl.AppInstallManager,InstallService.dll,ContentType=WindowsRuntime]
# コマンド2
(new-object Windows.ApplicationModel.Store.Preview.InstallControl.AppInstallManager).SearchForAllUpdatesAsync()

AppInstallManager Class (Windows.ApplicationModel.Store.Preview.InstallControl)
https://learn.microsoft.com/en-us/uwp/api/windows.applicationmodel.store.preview.installcontrol.appinstallmanager

アップデートは、非同期で実行されるのでしばらく待っていれば、徐々にアプリが更新されていきます。アプリが更新されたかは、System のイベントログに ID 19 が記録されていることで確認はできます。

UWP アプリをアンインストール

インストールされている UWP アプリをアンインストールするコマンドは Remove-AppxPackage になります。

アプリをアンインストールするには、アンインストールしたいユーザーの権限で PowerShell を起動し、Remove-AppxPackage を実行してください。コマンドの実行方法としては、以下の2種類が考えられます。

例:カメラアプリをアンインストール
# 1. Get-AppxPackage でアプリを指定&パイプしてアンインストール
Get-AppxPackage "Microsoft.WindowsCamera" | Remove-AppxPackage

# 2. PackageFullName を指定してアンインストール
Remove-AppxPackage -Package "Microsoft.WindowsCamera_2024.2408.1.0_x64__8wekyb3d8bbwe"

アプリ名:Microsoft.WindowsCamera や PackageFullName は、Get-AppxPackage の実行結果から確認ができます。

Get-AppxPackage と同様に管理者権限で起動した PowerShell で Remove-AppxPackage を -allusers オプションを付けて実行すれば、その端末にログインしたすべてのユーザーからアプリをアンインストールできます。

再インストール

インストールされているアプリが正常に動作していないように思えたら、Add-AppxPackage コマンドで UWP アプリの再登録(再インストール)を実施することで改善する場合があります。
特にWindows OS の一部として動作している UWP アプリは、Remove-AppxPacakge の実行時にエラーが発生するので、この方法で再インストールする必要があります。

UWP アプリのインストール パスにある AppXManifest.xml を指定して、Add-AppxPackageを実行すると指定したアプリを再インストールできます。InstallLocation は、Get-AppxPackage の実行結果から確認ができます。

コマンドのフォーマット
Add-AppxPackage -DisableDevelopmentMode -Register "<InstallLocation>\AppXManifest.xml" -ForceApplicationShutdown 
コマンド実行例
# CBS
Add-AppxPackage -DisableDevelopmentMode -Register "C:\Windows\SystemApps\MicrosoftWindows.Client.CBS_cw5n1h2txyewy\AppXManifest.xml" -ForceApplicationShutdown 

# StartMenuExperienceHost
Add-AppxPackage -DisableDevelopmentMode -Register "C:\Windows\SystemApps\Microsoft.Windows.StartMenuExperienceHost_cw5n1h2txyewy\AppXManifest.xml" -ForceApplicationShutdown 

# ShellExperienceHost
Add-AppxPackage -DisableDevelopmentMode -Register "C:\Windows\SystemApps\ShellExperienceHost_cw5n1h2txyewy\AppXManifest.xml" -ForceApplicationShutdown 

# 設定アプリ
Add-AppxPackage -DisableDevelopmentMode -Register "C:\Windows\ImmersiveControlPanel\AppXManifest.xml" -ForceApplicationShutdown 

初回ログイン時にインストールされる UWP アプリのリストを管理

初回ログイン時にインストールされる UWP アプリを管理する主なコマンドは、以下の3つになります。これらのコマンドは、PowerShell を管理者として起動し、実行する必要があります。

Get-AppxProvisionedPackage
https://learn.microsoft.com/en-us/powershell/module/dism/get-appxprovisionedpackage

Remove-AppxProvisionedPackage
https://learn.microsoft.com/en-us/powershell/module/dism/remove-appxprovisionedpackage

Add-AppxProvisionedPackage
https://learn.microsoft.com/en-us/powershell/module/dism/add-appxprovisionedpackage

マスターを作成し、Windows PC や VDI を大規模展開する企業以外にあまり、一般のユーザーが使用することはないと思いますので、初回ログイン時にインストールされる UWP アプリを出力するコマンドのみを記載しておきます。

Get-AppxProvisionedPackage -Online | ConvertTo-json | Out-File -FilePath getAppxProvisionedPackage.json

さいごに

どのアプリが、UWP アプリであることを意識する場面はあまりありませんが、UWP アプリが正常に動作しないとか、アプリがインストールされていないとかを調べるときには、活用できるかなと思います。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?