WindowsUpdateカタログで修正プログラムローカルインストール - 適宜覚書-Fragments

WindowsUpdateカタログで修正プログラムローカルインストール

      2017/03/02

Windowsの修正プログラムでの更新というと、とりあえずWindowsUpdate(近くMicrosoftUpdateとしてWindows以外の修正プログラムも統合される)を使うのが個人でのホームユースでは一般的だろう。会社や学校のようにある程度以上規模でPCがある場合、機器毎に適用状態を合わせるためにSUS、SMS或いは資産管理サーバを使って一括適用したりする。

では、会社の業務に使っているけれど、そういった管理サーバからの適用範囲に無いものはどうすれば良いだろう。先に述べたようにWindowsUpdateを使うのが本当なら一番手っ取り早い方法だ。何故、わざわざ本当ならと強調したかと言えば、諸所諸事情から会社のエンドユーザの個人PCはHotFixすらあてられず恐ろしい状態で使用されているのが身近な実態としてあるからだ。実際にヒアリングした非適用の理由は

  1. インターネット接続環境が無い(イマドキ??)
  2. 面倒臭い
  3. やり方分からない
  4. 暫くやらないと纏めてダウンロードが大変

なかなか凄い理由(保護する気が削がれる)だが、それでも彼らはダイヤルアップで仕事のメールを受信したり、ファイルを持ち歩く訳でウィルスその他の脅威に晒されている。滔々と説教…もといセキュリティ教育を行うのは、目の前の状況には即効性が無く下手すると反感を持たれ逆効果になる。

とりあえず、修正プログラムを一個一個落としてCD-Rに焼いて渡すという手段を考えたが、これは作る方としても面倒だ。そもそもエンドユーザの家庭PCが会社のPCのようにOSが統一されている訳ではないが、会社で扱っていないOSの修正プログラムをどうやって纏めれば良いのか?

表題のWindowsUpdateカタログを使うとこれが少し楽になる。既知過ぎる手段なのかもしれないが、不覚にも俺はこの方法を今まで知らなかった。WindowsUpdateカタログにアクセスし、「Microsoft Windows オペレーティング システムの更新を探します」を選択し、該当OSと言語を選択して「OK」をクリックすると、そのOS、言語の過去の修正プログラムリストが表示される。リストは丁度WindowsUpdateの修正プログラム選択画面と同じで、どのファイルを対象とするかを選択してダウンロードバスケットに入れていく。残念ながら一度に全選択のようなことは出来ないので一個一個ポチポチ「追加」ボタンを押し、選択し終わったら、ダウンロードバスケットに移動する。そして、PCのローカルのフォルダを「参照」ボタンで指定して「今すぐダウンロードする」でダウンロード出来る。

上記の記事には、より詳細とスクリーンショット付きで解説されていてとても分かりやすい。これらの記事のおかげで、俺の悩みのうち「楽にダウンロードして楽にCD-Rに焼き付ける」ことは出来るのだが、エンドユーザに実行させるところまでは上手くいかない。何故なら

各モジュールはこのように、言語別、対象OS別、そしてモジュール名別にそれぞれ異なるフォルダが作成されて、その中に格納される。その中にあるsetup.exeを起動すれば、実際のインストール作業が行われる。

のように、ダウンロードした後は深い階層にある各setup.exeを実行することを淡々と書いているが、これは看過出来ない。誰が実行するかと言えば「面倒だ」「やり方分からない」「纏めてダウンロードが大変」と言っている人達がやるのだ。そんな面倒で難しいことやる訳が無い。俺だって嫌だ。今まで一回も当てたことがないなら50個とか100個あてることになるのだしやってられない。保存されている階層は違うし、深いし、いちいち再起動要求があったりする。これは対策が必要だ。

まず、再起動を纏める方法だが、qchain.exeまたは、修正プログラムのオプション(Update.exe プログラムのコマンドラインオプション)を利用すれば良い。

基本的にイマドキの修正プログラムならオプションが有効なのだが、オプションが組み込まれる2002年12月の前の修正プログラムの場合はそうはいかない。複数の修正プログラムを同時にインストールすると、正しいファイルがインストールされないことがあるのThe Correct File is Not Installed When You Chain Multiple Hotfixesからqchain.exeを入手して実行の必要がある。

さて、では「保存されている階層は違うし、深いし」はどうするか。とりあえず、どうしようもないので力技で以下のbatファイル(make_bat.bat)をHotfixファイルの上位フォルダに配置して実行する。

やっていることは各setup.exeへのパスをコピーし、update.exeのオプションやqchain.exeの実行を追記してバッチファイルinstall_hotfix.batとして出力することだ。このinstall_hotfix.batを実行すれば、無人モードで纏めて修正プログラムを実行し、再起動も一回で纏められる。

エンドユーザがbatファイルを実行することも出来ない(或いはやるのが億劫)と抜かす可能性もある。その場合、CD-Rの焼付けで自動実行するように作成すれば良い。そうすれば「実行中のアプリケーションを終了してこのCDをPCのCDトレイに入れて風呂に入ったり一杯やっていてください。一回再起動がありますが、これで(少し)安全になりますよ。簡単ですから是非どうぞ。」と言って渡すことが出来る。無論それでも実行する可能性は高くないが、気休めもしくは手持ちツールとして重宝しそうだ。(未検証だが…)

適宜覚書-Fragmentsは、筆者が興味をもった様々な情報やネタを筆者が忘れても後で思い出せるよう覚書として公開するBlogです。Google Chrome拡張、Facebook、Google、Twitter、Windows、各種Webアプリなどを扱うことが多いです。この覚書が、もし何かお役立ちになれば幸いです。

 - Windows, 覚書 , , , , ,