Skip to content

Instantly share code, notes, and snippets.

@tenpoku1000
Last active November 10, 2023 12:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tenpoku1000/fcfdc0914d643551543f376ce9f51432 to your computer and use it in GitHub Desktop.
Save tenpoku1000/fcfdc0914d643551543f376ce9f51432 to your computer and use it in GitHub Desktop.
WSL・Windows Update・Visual Studio・Chocolatey の更新をコマンド 1 行で一括で実行

WSL・Windows Update・Visual Studio・Chocolatey の更新をコマンド 1 行で一括で実行

2023/11/10 更新

事前準備

(1) PowerShell で Chocolatey パッケージマネージャの pkg.config XML 設定ファイルの取得

cd "$Env:HOMEDRIVE$Env:HOMEPATH\Documents"
git clone https://github.com/tenpoku1000/Chocolatey.pkg.config

(2) 管理者として実行する PowerShell で以下のコマンドを実行(Chocolatey の導入と、各種アプリの一括インストール)

Set-ExecutionPolicy RemoteSigned
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
choco install "$Env:HOMEDRIVE$Env:HOMEPATH\Documents\Chocolatey.pkg.config\pkg.config" -y

(3) 管理者として実行する PowerShell で以下のコマンドを実行(WSL の導入)後、Windows を再起動

wsl --install

WSL のインストール | Microsoft Learn
https://learn.microsoft.com/ja-jp/windows/wsl/install

アンインストール操作で状態が不正になりエラーで WSL 起動に失敗する場合は、以下のコマンドを実行することで解決する場合がある

Enable-WindowsOptionalFeature -Online -NoRestart -FeatureName "VirtualMachinePlatform"
wslconfig /u Ubuntu

Windows Subsystem for Linux のトラブルシューティング | Microsoft Learn
https://learn.microsoft.com/ja-jp/windows/wsl/troubleshooting

(4) 必要な場合、管理者として実行する PowerShell で以下のコマンドを実行後、Windows を再起動

Enable-WindowsOptionalFeature -Online –NoRestart –FeatureName "HypervisorPlatform"
Enable-WindowsOptionalFeature -Online –NoRestart –FeatureName "Client-ProjFS"

Windows Hypervisor Platform (WHP) の使い方 #Windows - Qiita
https://qiita.com/shina/items/2339ae511774f9bd6106

Windows 投影ファイル システム - Win32 apps | Microsoft Learn
https://learn.microsoft.com/ja-jp/windows/win32/projfs/projected-file-system

(5) PowerShell で Visual Studio をインストール path を指定してインストール(実行可能ファイル名は、適宜修正が必要な場合がある)

.\VisualStudioSetup.exe --installPath "$Env:HOMEDRIVE$Env:HOMEPATH\Documents\bin\MSVC"

WSL・Windows Update・Visual Studio・Chocolatey の更新を一括で実行

software_update.cmd をダブルクリックして実行。

UAC による管理者権限昇格を許可し、
WSL の sudo による管理者権限昇格を許可することで、
WSL・Windows Update・Visual Studio・Chocolatey の更新を一括で実行します。

(2022/06/28 現在、Windows Update のオプションの品質更新プログラム等は更新されません。手動更新が必要です)

software_update.cmd の内容

start %HOMEPATH%\Documents\doc\Documents\msvc_update.cmd
powershell -command "Start-Process -Verb runas powershell $Home\Documents\bin\upd.ps1"

参考:

Windows で sudo なことをする。 | みむらの手記手帳
https://mimumimu.net/blog/2014/12/11/windows-%E3%81%A7-sudo-%E3%81%AA%E3%81%93%E3%81%A8%E3%82%92%E3%81%99%E3%82%8B%E3%80%82/

msvc_update.cmd の内容(Visual Studio の更新)

set VS_UPDATE="C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe"
call %VS_UPDATE% update --installPath %HOMEDRIVE%%HOMEPATH%\Documents\bin\MSVC

@echo off
setlocal
set /p ch="press enter key:"

upd.ps1 の内容(WSL・Windows Update・Chocolatey の更新)

wsl sudo '$HOME/upd.sh'
cscript $Home\Documents\bin\WUA_SearchDownloadInstall.vbs /Automate
choco upgrade all -y
$input = Read-Host "press enter key"

WUA_SearchDownloadInstall.vbs のダウンロード URL

更新プログラムの検索、ダウンロード、インストール - Win32 apps | Microsoft Learn
https://learn.microsoft.com/ja-jp/windows/win32/wua_sdk/searching--downloading--and-installing-updates

参考:

山市良のえぬなんとかわーるど: 新しくなった WUA_SearchDownloadInstall.vbs(自動化やオフラインスキャンに対応)
https://yamanxworld.blogspot.com/2021/02/wuasearchdownloadinstallvbs.html

WSL 上の $HOME/upd.sh の内容(chmod コマンドで実行権限を付与すること)

#!/bin/sh
apt update
apt upgrade -fy
apt autoremove -fy
apt install -fy apt-file
apt-file update
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment