![[tips][Windows] Windows Updateを一括で行う方法](https://casualdevelopers.com/wp-content/uploads/2015/11/instagram-1882329_1280-700x300.png)
今日もう一台のPCを購入したとします。WindowsのOSをインストールしたら、まずインターネットに繋ぎます。次にすることは?そう、Windows Updateです。Windowsがバグだらけなので、いくつものパッチをインストールしないと使い物になりません。迷惑な話ですが、仕方がありません。Windows Updateが今日の仕事です。ひたすらコーヒーでも飲みながら待ちましょう。
ところが、オフライン環境の場合はどうでしょう?Windows Updateは実行できないので、このままでは大量のバグはそのままです。このままバグに苦しむしかないのでしょうか?いいえ。そのPCが2台目のPCなら、解決策がありますよ。
インターネットが繋がる方のPCで大量のパッチをダウンロードし、もう一台のPCに一括でインストールする方法を紹介します。
見出し
1. 大量のWindows Updateのパッチをダウンロードする。
パッチをダウンロードするには専用のソフトウェアを使います。今回は2つ紹介します。
「AutoPatcher」
(1)サイトの「THE Autopatcher Download」のリンクをクリックして、zipファイルをダウンロードします。
(2)(1)のzipファイルを適当なフォルダを作って展開すれば、インストール完了です。
(3)展開した「AutoPatcher.exe」を管理者権限で実行することで、起動します。起動したらライセンスにagreeすれば使用できます。
管理者権限で実行しないと「Error Detected: Permission denied in ExecuteCommand At Line 108」というエラーが出るので注意してください。
(4)プロキシサーバを経由する場合は、下にある「Options」をクリックしてプロキシ設定を行います。
(5)「Download Updates」をクリックし、必要なWindows Updateをリストからチェックを入れて選択します。あとは、「Next」をクリックするとダウンロードが開始します。
(6)ダウンロードしたWindows Updateファイルは(2)で展開した「modules」フォルダ内に配置されています。Windows7(64ビット)の場合は、以下のフォルダにダウンロードされます。
「展開したフォルダ」
└─modules
└─Windows_Seven_x64
└─Critical
└─Critical_files
└─NonCritical
└─NonCritical_files
「Windows Update Downloader」
(1)サイトのダウンロードのリンクをクリックして、exeファイルをダウンロードします。そのファイルを実行すればインストール完了です。
(2)リストのページから更新プログラムのリスト(ULZファイル)をダウンロードします。Windows7(64ビット)の場合は「windows-7-sp1-x64-enu.ulz」と「win7-sp1-x64-Extra-Updates.ulz」をダウンロードします。ダウンロードしたら、それらのリストをダブルクリックして登録します。ただし、更新されているリスト(ULZファイル)は英語版で、日本語版は最近は更新されていないので、注意してください。
(3)(1)でインストールした「Windows Update Downloader」を起動します。
(4)(2)でダウンロードしたリストを選択して、「Download」を実行するとダウンロードが開始します。
「windows-7-sp1-x64-enu.ulz」の場合は以下をチェックしましょう。
「Security Updates」
「Non-Security Updates」
「.NET Framework 3.5.1 Updates」
「WMP12 Updates」
「win7-sp1-x64-Extra-Updates.ulz」の場合は全てチェックしましょう。
(5)ダウンロードしたWindows Updateファイルは「ドキュメント」フォルダの「Windows Update Downloader」フォルダ内に配置されます。
2. 大量のWindows Updateのパッチを一括でインストールする。
それでは、USBなりCDなりでダウンロードした大量のパッチファイルをもう一台のPCに移動したら、以下の構成でフォルダを作成し、一括実行用のbatファイル作成しましょう。
C:
└─windows_update_patch
└─target ※ここにパッチファイルを配置してください。
└─install_updates.bat
「install_updates.bat」の中身は以下です。
@echo off REM "install_updates.bat" REM Note: Don't use a space in the following paths. REM Note: If the other machine's OS is 32-bit, you must set "OS=86". set PATCH_HOME=C:windows_update_patch set PATCH_DIR=target set MSU_KEYWORD=Windows6.1 set EXE_KEYWORD= set OS=64 set MSU_LOG=installed_msu_list.txt set EXE_LOG=installed_exe_list.txt set EVENT_LOG=installed_log.evtx cd %PATCH_HOME%%PATCH_DIR% echo Windows Updates are starting... echo %date% %time% > %PATCH_HOME%%MSU_LOG% for /f "usebackq" %%I in (`dir /b /a-d /s *%MSU_KEYWORD%*-x%OS%*.msu`) do ( echo Installing "%%I". echo %%I >> %PATCH_HOME%%MSU_LOG% wusa %%I /quiet /norestart /log:%PATCH_HOME%%EVENT_LOG% ) echo %date% %time% >> %PATCH_HOME%%MSU_LOG% echo %date% %time% > %PATCH_HOME%%EXE_LOG% for /f "usebackq" %%I in (`dir /b /a-d /s *%EXE_KEYWORD%*-x%OS%*.exe`) do ( echo Installing "%%I". echo %%I >> %PATCH_HOME%%EXE_LOG% %%I /quiet /norestart /log:%PATCH_HOME%%EVENT_LOG% ) echo %date% %time% >> %PATCH_HOME%%EXE_LOG% del /f %PATCH_HOME%%EVENT_LOG%.dpx echo Windows Updates are done. echo Reboot now! shutdown /r /t 0
このbatでは、wusaコマンドを使用して、Windows Updateファイルをインストールします。インストールの結果はEVTXファイルとして出力されるので、イベントビューアで確認できます。また、フォルダのパスを指定できますが、空白は使えないので注意してください。
最後に、「install_updates.bat」を実行することで、「target」フォルダ内のパッチファイルが一括でインストールされます。
ここまでして必要なWindows Updateが行えなかった場合は、諦めてMicrosoft Download Center またはWindows Update Catalogから地道にダウンロードしてください。Windowsのやろーと思いながら。なぜWindowsは簡単に一括ダウンロードできるサイトやツールを提供していないのでしょうか?怠慢としか思えませんね。
環境
1台目のPCのOS : Windows 7(32ビット)
2台目のPCのOS : Windows 7(64ビット)


コメントを残す