« Mac App StoreからOS X Lionのアップデート適用済みインストーラをダウンロード | Main | Windows Vista/7/2008/2008 R2に不正UDPパケットで外部から乗っ取られる脆弱性 »

2011.10.29

64bit版Windows 7でプロキシ経由のGoogle Updateを有効にする

Google AppsをGoogle Chromeで使っているのですが、msi版をインストールするとプロキシが必要な環境でGoogle Updateが行えないことがあります。
調べてみると、Google Updateサービスを起動しているSYSTEMアカウントのインターネット接続設定にプロキシサーバの設定が行われていないのが原因のようです。

Windows XP/2003はproxycfg、Windows Vista以降はnetsh winhttpコマンドでSYSTEMアカウントのプロキシサーバを設定するのですが、64bitのWindows環境では「%systemroot%\SysWOW64」配下のコマンドを使う必要があります。
これは、Google Updateのプロセスが32bitのため、32bit用のインターネット接続レジストリキーを参照するためです。
32bitのレジストリキーを変更するには、32bit版のnetshコマンドやproxycfgコマンドを使う必要がある、ということですね。

手抜きですが、こんな感じのバッチファイルを書けば32bit/64bitの両方のレジストリキーを更新するのでGoogle Updateがプロキシサーバ経由で行えるようになります。
ただし、この設定を行うとSYSTEMアカウントで動作するWindows Updateなどもプロキシサーバ経由になってしまうため、LAN内のWSUSサーバは除外項目に入れておく必要があります。

REM プロキシサーバの設定
SET PROXY_SERVER="proxy-server.example.com:8080"
REM プロキシサーバの除外項目をセミコロン区切りで指定
SET PROXY_BYPASS_LIST="*.example.com;wsus-server"

REM OSネイティブモードのプロキシサーバ設定
%systemroot%\system32\netsh.exe winhttp set proxy proxy-server=%PROXY_SERVER% bypass-list=%PROXY_BYPASS_LIST%
REM WOW64モードのプロキシサーバ設定
%systemroot%\SysWOW64\netsh.exe winhttp set proxy proxy-server=%PROXY_SERVER% bypass-list=%PROXY_BYPASS_LIST%

もうちょっとちゃんと書くなら、

  • proxycfgコマンドの有無をチェックしてXP/Vista/7兼用にしたい
  • %systemroot%\SysWOW64ディレクトリの有無を見て32bit版Windowsでは無駄コマンドを実行しないようにしたい

あたりでしょうか
いずれもIF EXIST構文を使えば良いので、このあたりを追加すれば良さそうです。

|

« Mac App StoreからOS X Lionのアップデート適用済みインストーラをダウンロード | Main | Windows Vista/7/2008/2008 R2に不正UDPパケットで外部から乗っ取られる脆弱性 »

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack


Listed below are links to weblogs that reference 64bit版Windows 7でプロキシ経由のGoogle Updateを有効にする:

« Mac App StoreからOS X Lionのアップデート適用済みインストーラをダウンロード | Main | Windows Vista/7/2008/2008 R2に不正UDPパケットで外部から乗っ取られる脆弱性 »