目次
XPの更新プログラムのダウンロード
XPの更新プログラムの一覧とダウンロードするための情報と、一括でダウンロードするスクリプト(BATファイル)。および、そのスクリプトで使うソフト(BITSadmin・wget)の説明。
以下のスクリプト(BATファイル)で使う環境変数のリストを示す。
環境変数 | 用途 | 未指定時のデフォルト |
---|---|---|
SSUPDATE | 更新プログラムのフォルダ | カレントフォルダ\UPDATE |
こういう行が各スクリプトの先頭に置かれる。
if not defined SSUPDATE set SSUPDATE=%CD%\UPDATE
ブラウザを使ってダウンロードする
更新プログラムをダウンロードしたい場合、この二つのサイトを利用する。
UpdateカタログはActiveXコントロールを使っているのでInternet Explorerでないとダウンロードできない。 2016年10月以降は他のブラウザでもダウンロードできるようになった。だが、複数のファイルをまとめてダウンロードする機能はIEでなければ使えない。
過去、更新プログラムはダウンロードセンターとUpdateカタログの両方で提供されてきた。だが、2016年2月ごろ、MicrosoftはXPの更新プログラムの一部をダウンロードセンターから削除した。2016年4月には「一部の更新プログラムについてダウンロードセンターでの提供をとりやめるので、今後はUpdateカタログで探すように」という 発表 を行った。
そんなわけで、ダウンロードセンターから消えた更新は、Updateカタログで探すほかない。一方で、Updateカタログになく、ダウンロードセンターにだけ存在する更新もある。ダウロードページは消えたけれど、ファイルは残されているのでダイレクトリンクは有効なものもあったりして・・・。この二つのサイトから目的のファイルを探してダウンロードするのは、結構な手間がかかるのである。
- Microsoft セキュリティ情報 - MS番号/KB番号での検索。
XPの更新プログラム一覧
種類 | 一覧表ページ | integrate可否 |
---|---|---|
サービスパック | XPのサービスパック | ○ |
integrate可能な更新 | XPの更新プログラム一覧 (1) | ○ |
Internet Explorer 8/7/6 | XPの更新プログラム一覧 (IE) | - |
Media Player 11 | XPの更新プログラム一覧 (WMP11) | - |
.NET Framework | XPの更新プログラム一覧 (.NET) | - |
その他の更新 | XPの更新プログラム一覧 (2) | - |
表中の direct と表示のあるリンクをクリックすれば、更新プログラムをダウンロードできる。
Updateカタログとダウンロードセンターの両方にある場合は、基本的に同じファイル。
Updateカタログのファイルには、ファル名の末尾に40桁の十六進コードが負荷されている。これはファイルのハッシュ値(SHA1値)である。
BITSadminでダウンロード
いちいちファイル名をクリックしてダウンロードするのは面倒だ。まとめてダウンロードできるスクリプトを書いてみよう。Windowsの場合、インターネット経由でファイルをダウンロードするには、BITSadmin.exe コマンドを使う。
バックグラウンド インテリジェント転送サービス(BITS)は、インターネット経由でファイルを転送するサービスだ。複数のファイルを同時にダウンロードしたり、エラーが回復するのを待って再試行する機能がある。Windows UpdateもBITSを使っている。BITSadmin は、BITSをコントロールするためのコマンドだ。
bitsadminを使ってファイルをダウンロードするには /transfer オプションを使う。
- Bitsadmin/transfer (microsoft)
bitsadmin /Transfer Name <RemoteFileName> <LocalFileName>
Nameはジョブ名、RemoteFileNameは転送元のURL、LocalFileNameはファイル名をフルパスで指定する。
これを羅列すれば良いのだが、BITSはキューに一つひとつファイルを投げ込むと、スループット調整のおかげで転送速度が上がらない。複数のファイルを一括して転送開始させたほうがよい。その場合、RemoteFileName LocalFileName のペアを複数指定する。
一括ダウンロード(Windows Vista/7/8/10用)
一括ダウンロードのバッチファイルを作ってみた。Windows 7や10なら動く(はず)。
down.bat - XP更新プログラムダウンロードスクリプト(Windows Vista/7/8/10用)
一括ダウンロード(Windows XP用)
Windows XPでbitsadminコマンドを使うには、Windows XP Service Pack 2 サポート ツール をインストールする必要がある。
Download Center | ダイレクトリンク | 容量 |
---|---|---|
DC | http://download.microsoft.com/download/d/3/8/d38066aa-4e37-4ae8-bce3-a4ce662b2024/WindowsXP-KB838079-SupportTools-ENU.exe | 4.7MB |
C:\Program Files\Support Toolsにインストールされ、環境変数PATHも設定される。
XP用のダウンロードバッチファイルはこちら。
downxp.bat - XP更新プログラムダウンロードスクリプト(Windows XP用)
wgetでダウンロード
GNU WgetがWindowsに移植されているので、これを使ってダウンロードすることもできる。入手先はWindows binaries of GNU Wget。TLS 1.2をサポートしている(らしい)ので、ダウンロードセンターからは HTTPS でダウンロードするようにしてある。
ダイレクトリンク | 容量 |
---|---|
https://eternallybored.org/misc/wget/current/wget.exe | 3.3MB |
wgetを使ったダウンロードバッチファイル。
downwget.bat - XP更新プログラムダウンロードスクリプト(wget)
メモ
- ダウンロードスクリプトがダウンロードするファイルの総容量は約1.9GB。ダウンロードに数十分かかる。
- ダウンロードセンターとUpdateカタログの両方に同じファイルがある場合は、ダウンロードセンターのファイルを選んでいる。
- 環境変数 SSUPDATE でダウンロード先のフォルダを指定する。変数がない場合は、カレントフォルダの下の UPDATE フォルダが指定される。
- XPのBITSはTLS 1.2をサポートしないので、XP用はダウンロードセンターからもHTTPでダウンロードするようにしている。
スクリプト | Windows | 転送 | 必要な ソフト | 転送プロトコル | ||
---|---|---|---|---|---|---|
XP | 7/8/10 | Update Catalog | Download Center | |||
down.bat | × | ○ | BITS | - | HTTP | HTTPS |
downxp.bat | ○ | 非推奨 | BITS | BITSadmin | HTTP | HTTP |
downwget.bat | ○ | ○ | wget | wget | HTTP | HTTPS |
ハッシュ値のチェック
Updateカタログのファイルは、ファイル名の末尾に40桁の十六進数が追加されている。これはSHA1ハッシュ値だ。この値とファイルのハッシュ値を比較することで、ファイルがエラーなく転送できているか検証できる。WindowsでSHA1を計算するには、FCIVコマンドを使う。
- ファイルの MD5 または sha-1 暗号のハッシュ値を計算する方法 (microsoft)
ダイレクトリンク | 容量 |
---|---|
http://download.microsoft.com/download/c/f/4/cf454ae0-a4bb-4123-8333-a1b6737712f7/windows-kb841290-x86-enu.exe | 116KB |
インストーラが作ったFCIV.EXEを、カレントフォルダかC:\Windowsにコピーしておく。
hotfixhash.xml - FCIVコマンド用比較ハッシュ値のXMLファイル。
XMLファイルをダウンロードしてカレントフォルダに置いたら、下記のコマンドを実行する。
FCIV -v -sha1 -xml HotFixHash.xml -bp %SSUPDATE%\
All files verified successfully と表示されれば成功。
以下の5つのファイルについては、ハッシュ値をHotFixHash.xmlファイルに入れてないので、FCIVでチェックがされない。
- SP1aExpress.exe - ファイル名のSHA1値が間違っているため。
- wmp11-windowsxp-x86-ja-jp.exe / dotNetFx40_Client_x86.exe / dotNetFx40_Client_x86_x64.exe / dotNetFx40_Full_x86.exe - Updateカタログとダウンロードセンターのファイルが異なっているため(ハッシュ値はUpdateカタログのファイル名から得ているため)。