« 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

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/27186/53107080

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パケットで外部から乗っ取られる脆弱性 »