Chromium Updater

Firefox の開発系ビルドは自動でほぼ毎日、最新のビルドに更新してくれるのですが、Chromium の場合はそういうメカニズムはないようです。テストはほぼ自動化してるとかいう話だけど。

で、やっぱり不便に思う人が多いようで、これに対応する updater がサードパーティーから出ています。詳しくは 「Chromium Updater」でChromiumを常に最新に | ライフハッカー[日本版] を。が、いかんせん大げさだったり使い勝手が悪そうだったりなんか入れる気がしない。

で、無いなら書けばいいじゃない、ということで bat ファイルで起動時に実行。必要な物は、

の二つ。別にバイナリを取りに行けたりzipを解凍できる代わりのものでも構いません。

setlocal

set CHROME="%USERPROFILE%\AppData\Local\Chromium"

cd /d %CHROME%

if exist %CHROME%\revision move /Y revision revision.old
wget "http://build.chromium.org/buildbot/continuous/win/LATEST/REVISION" -O .\revision
if not exist %CHROME%\revision.old goto getNew
fc .\revision .\revision.old > nul
if %ERRORLEVEL% == 1 goto getNew

exit

:getNew
wget "http://build.chromium.org/buildbot/continuous/win/LATEST/chrome-win32.zip" -N
if %ERRORLEVEL% == 0 7za.exe x -y .\chrome-win32.zip
if exist Application rmdir Application /S /Q
move chrome-win32 Application

endlocal

XP環境では

set CHROME="%USERPROFILE%\AppData\Local\Chromium"

set CHROME="%USERPROFILE%\Local Settings\Application Data\Chromium"

に書き換えてください。

7-zipコマンドライン版(7za.exe)では、アーカイブ中のディレクトリ構造を無視して指定のディレクトリに上書き展開、というのができないので、

  1. 一旦一時フォルダに展開
  2. Chromium本体実行ファイルを含むディレクトリを削除
  3. 一時フォルダをすげ替え

というなかなか微妙な処理で凌いでます。処理自体は単純だし、使ってる外部ファイルももともとはunix系の物なので、シェルスクリプトへの移植も簡単かと。