Microsoft Store アプリケーションのインストール（Powershell スクリプト）

こんにちは
Microsoft Store アプリケーションなどをインストールする Powershell スクリプトを作りました（```Add-Package.ps1```）[^1]。

[^1]: 参考：「[WSL2 をすべてコマンドでインストールしたときのメモ](https://qiita.com/mainy/items/19862ebb1fa4df2ad497)」、「[Microsoft純正パッケージマネージャ"winget"を使おう](https://qiita.com/DaiGuard/items/825a64c916b1783a4a71)」、「[winget (Windows Package Manager) 本体をコマンドラインからインストール](https://qiita.com/mainy/items/e204c8cac3324768b8e3)」。

### 使用方法
各サイト内から目的のパッケージファイルの uri を見つけて指定して使います[^2]。

[^2]: 前もって、PowerShell コマンドライン（管理者権限）上で ExecutionPolicy を設定し、スクリプトを実行可能とする必要があります： ```PS> Set-ExecutionPolicy RemoteSigned```

##### Windows Package Manager (a.k.a., winget)
「[Windows Package Manager (latest release)](https://github.com/microsoft/winget-cli/releases)」 (github.com/microsoft)

```PowerShell
PS> .\Add-Package.ps1 -Uri https://github.com/microsoft/winget-cli/releases/download/v1.10.390/Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle
```

##### Microsoft Windows Terminal
「[Windows Windows Terminal (latest release)](https://github.com/microsoft/terminal/releases)」 (github.com/microsoft)

```PowerShell
PS> .\Add-Package.ps1 -Uri https://github.com/microsoft/terminal/releases/download/v1.22.11141.0/Microsoft.WindowsTerminal_1.22.11141.0_8wekyb3d8bbwe.msixbundle
```

##### Ubuntu 22.04 
「[Linux 用 Windows サブシステム ディストリビューション パッケージを手動でダウンロードする](https://docs.microsoft.com/ja-jp/windows/wsl/install-manual)」 (docs.microsoft.com)

```PowerShell
PS> .\Add-Package.ps1 -Uri https://aka.ms/wslubuntu2204
```

###### Ubuntu 24.04 
```PowerShell
PS> .\Add-Package.ps1 -Uri https://wslstorestorage.blob.core.windows.net/wslblob/Ubuntu2404-240425.AppxBundle
```

##### Linux kernel update package
「[Install Linux on Windows with WSL](https://learn.microsoft.com/en-US/windows/wsl/install-manual)」 (docs.microsoft.com) 

```PowerShell
PS> .\Add-Package.ps1 -Uri https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
```

##### QL-Win/QuickLook
「[QL-Win/QuickLook Latest release](https://github.com/QL-Win/QuickLook/releases)」 (GitHub)

```PowerShell
PS> .\Add-Package.ps1 -Uri https://github.com/QL-Win/QuickLook/releases/download/3.7.3/QuickLook-3.7.3.msi
```

### ソース

```Add-Package.ps1
# Encoding::Shift-JIS
Param($Uri)
$ext = [IO.Path]::GetExtension($Uri)
If ($ext -eq "") {$ext = ".appx"}
$file_downloaded = "temporary_"+$ext
Invoke-WebRequest -Uri $Uri -OutFile $file_downloaded -UseBasicParsing
If ($ext -eq ".msi") {msiexec /i $file_downloaded}
else {Add-AppxPackage -Path $file_downloaded}
Remove-Item $file_downloaded
```
[^3]

[^3]: 参考：「[テキストファイルを「メモ帳」で開く（powershell スクリプト）](https://qiita.com/kkdd/items/fd16953797629cf934f7)」。なお```Invoke-Item``` コマンドを使って、ソーステキストファイル（txt や ps1 ファイル）を「メモ帳」で開くことができます[^3]： ```PS> Invoke-Item Add-Package.ps1```


### winget 利用によるインストール（別方法）
もしくは、Windows Package Manager (a.k.a., winget) をインストールしたならば、それを利用して各種パッケージをより容易にインストール可能です：

```PowerShell
PS> winget install Ubuntu
PS> winget install -e --id Microsoft.PowerShell
PS> winget install -e --id Microsoft.WindowsTerminal
PS> winget install -e --id Git.Git
PS> winget install -e --id QL-Win.QuickLook
PS> winget install -e --id 7zip.7zip
PS> winget install mpv.net
```

* 参考： [winget.run](https://winget.run/) (Finding winget packages made simple)