Windows Server 2022にwingetをインストール、最新のターミナルもインストール

投稿者: | 11月 4, 2024

更新 2024/11/4 Windows Server 2025だとWingetもTerminalもインストールされているので、この記事は、Windows Server 2022でしか必要はない。

更新 2024/11/2 Microsoft.VCLibs.x64.14.00.Desktop.appxの最新版をVisual Studio 2022から持ってこないと動かない。

更新 2024/3/29 各パッケージ更新

 

実は、昔とある海外の会社でVDIをやっていた。なんやかんやでWindowsデスクトップOSは、遅いし、使わないアプリや設定も多く。スマートさが足りない。VMware FlingsにあったWindows OS Optimization Toolには自分が作ったサーバテンプレートが載っていたんだが、今は製品化されて自分のサーバテンプレートはきっちり削除されていた。しかし、今はVDIはあまり関係ないが、やはりデスクトップOSはServer OSのほうが好きだったりする。ただし、その観点でみるとサーバOSには必要なアプリが全然入っていない。さらにストアアプリのインストールも無理。少なくともターミナルくらいは入れたい。コマンドプロンプトは使いにくいので。

Windows Server 2022にターミナルの最新版をいれることにする。また、MS謹製のパッケージ管理ツールであるwingetもインストールをするのが今回の目的。パッケージツールは、chocolateyがあるが、どうやらwingetからchocolateyのパッケージも呼べるので、便利だと思う。

この記事は、どこに書いてあったんですか?(自分も思い出したい。後述)、誰が言ったんですか?勢は手を出さないことをお勧めする。というか、そういう新しいことはもうやらないで!と言いたいw

 

閑話休題

 

流れとしては、

  1. Microsoft.VCLibs.x64.14.00.Desktop.appxの入手とインストール
  2. Wingetのインストール
  3. Windows Tterminalのインストール

となる。

 

Microsoft.VCLibs.x64.14.00.Desktop.appxの入手とインストール

今まで、単純にMicrosoft.VCLibs.x64.14.00.Desktop.appxをダウンロードしておけばよかったんだが、Visual Studio 2022から持ってくる必要がある。(Webからダウンロードしたものは使えないので注意)

エラーに当たって、Microsoft.VCLibs.140.00.UWPDesktopを探している人がWebに多数いるが、Microsoft.VCLibs.x64.14.00.Desktop.appxが必要。ただ、Visual Studio 2022から入手しなきゃだめということ。

詳しくは

を参照なんだが、簡単に書くと以下の方法でVisual Studio 2022をインストールをする。

必要環境:30GBくらい空き領域があるWindowsマシンにVisual Studio 2022(無料版でOK)をインストールをする。(ダウンロード用の捨てマシンでいい)

必要なインストールパッケージは以下。(Windowsアプリケーション開発を選択し、C++(v143)ユニバーサルWindowsプラットフォームを選択する。

インストールが終わったら、

%ProgramFiles(x86)%\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop\14.0\Appx\Retail\x64にある、Microsoft.VCLibs.x64.14.00.Desktop.appxをインストール対象のマシンのC:\Wingetフォルダーにコピー

 

Wingetのインストール

どこかのページに書かれていたもの。(リンクをメモするのを忘れてしまった。スマヌ!作者)管理者権限でPowerShellを開き、以下を実行する。スクリプトでは、Microsoft.VCLibs.x64.14.00.Desktop.appxをダウンロードしている部分はコメントアウトしている。

# Create WinGet Folder
#New-Item -Path C:\WinGet -ItemType directory -ErrorAction SilentlyContinue

# Install VCLibs
#Invoke-WebRequest -Uri https://aka.ms/Microsoft.VCLibs.x64.14.00.Desktop.appx -OutFile "C:\WinGet\Microsoft.VCLibs.x64.14.00.Desktop.appx"
Add-AppxPackage "C:\WinGet\Microsoft.VCLibs.x64.14.00.Desktop.appx"

# Install Microsoft.UI.Xaml from NuGet
Invoke-WebRequest -Uri https://www.nuget.org/api/v2/package/Microsoft.UI.Xaml/2.8.6 -OutFile "C:\WinGet\Microsoft.UI.Xaml.2.8.6.zip"
Expand-Archive "C:\WinGet\Microsoft.UI.Xaml.2.8.6.zip" -DestinationPath "C:\WinGet\Microsoft.UI.Xaml.2.8.6"
Add-AppxPackage "C:\WinGet\Microsoft.UI.Xaml.2.8.6\tools\AppX\x64\Release\Microsoft.UI.Xaml.2.8.appx"

# Install latest WinGet from GitHub
Invoke-WebRequest -Uri https://github.com/microsoft/winget-cli/releases/latest/download/Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle -OutFile "C:\WinGet\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle"
Add-AppxPackage "C:\WinGet\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle"

# Fix Permissions
TAKEOWN /F "C:\Program Files\WindowsApps" /R /A /D Y
ICACLS "C:\Program Files\WindowsApps" /grant Administrators:F /T

# Add Environment Path
$ResolveWingetPath = Resolve-Path "C:\Program Files\WindowsApps\Microsoft.DesktopAppInstaller_*_x64__8wekyb3d8bbwe"
if ($ResolveWingetPath) {
$WingetPath = $ResolveWingetPath[-1].Path
}
$ENV:PATH += ";$WingetPath"
$SystemEnvPath = [System.Environment]::GetEnvironmentVariable('PATH', [System.EnvironmentVariableTarget]::Machine)
$SystemEnvPath += ";$WingetPath;"
setx /M PATH "$SystemEnvPath"
}
Remove-item -Recurse C:\WinGet

これで完了

MACのbrewを使いこなしている人には不要だと思うが。

ちなみに、WingetのGUIを使いたければ、Uniget(https://github.com/marticliment/UniGetUI)をインストールをするとGUIで扱える。

 

 

Windows Terminalのインストール

2023/10/1 更新

以下でインストールができる。(こっちでいれたほうがいい。最新がインストールできる。)

winget install Microsoft.WindowsTerminal

手動でインストールをするなら、

# Install Microsoft.UI.Xaml from NuGet
Invoke-WebRequest -Uri https://www.nuget.org/api/v2/package/Microsoft.UI.Xaml/2.8.6 -OutFile "C:\WinGet\Microsoft.UI.Xaml.2.8.6.zip"
Expand-Archive "C:\WinGet\Microsoft.UI.Xaml.2.8.6.zip" -DestinationPath "C:\WinGet\Microsoft.UI.Xaml.2.8.6"
Add-AppxPackage "C:\WinGet\Microsoft.UI.Xaml.2.8.6\tools\AppX\x64\Release\Microsoft.UI.Xaml.2.8.appx"

# Install Microsoft Windows Terminal from GitHub
Invoke-WebRequest -Uri https://github.com/microsoft/terminal/releases/download/v1.21.2911.0/Microsoft.WindowsTerminal_1.21.2911.0_8wekyb3d8bbwe.msixbundle -outfile C:\WinGet\Microsoft.WindowsTerminal_1.21.2911.0_8wekyb3d8bbwe.msixbundle
Add-AppxPackage -Path C:\WinGet\Microsoft.WindowsTerminal_1.21.2911.0_8wekyb3d8bbwe.msixbundle
Remove-item .\Microsoft.WindowsTerminal_1.21.2911.0_8wekyb3d8bbwe.msixbundle

これで完了。

Windows Server 2025は、この作業をしなくてもインストール直後からWingetもTerminalも入っている。

コメントを残す