Update Engine - Software updating framework for Mac OS X

Google, Update Engine Teamは9月29日(米国時間)、Mac OS Xで汎用的に活用できるソフトウェアアップデート用フレームワークUpdate Engineを発表した。Update Engineは複雑なソフトウェアのアップデート作業を簡単に実施するために開発されたフレームワーク。Cocoaアプリケーションや設定パネル、スクリーンセーバ、任意のファイル、カーネル拡張など事実上特権ユーザ操作できる内容であれば何でもアップデート可能。

GoogleはMac OS X向けにいくつかのアプリケーションを公開している。たとえばGoogle Desktop for Mac、Google Earth、SketchUp、Picasa Web Albums Uploader、Toolbar for Firefox、Notifier for the Macなどがある。こうしたアプリケーションを安全に、そして将来に渡ってサポートし続けるにはアップデート操作を確実にこなしていく必要がある。これを簡単に実現するために開発されたフレームワークがUpdate Engineであり、今回Apache License Version 2.0のもとでオープンソースソフトウェアとして公開された。

Update Engineで指定するplistファイル - Update Engineプロジェクトサイトより抜粋

Update Engineの動作はきわめてシンプルだ。プログラマはEngineRunnerコマンドを実行するだけでアップグレードを実現できる。Update Engineはplistと呼ばれるアプリケーションの認識名称、バージョン情報、アップグレード対象となるディスクイメージのURL、ハッシュ値、ファイルサイズなどの情報が含まれたXMLファイルをチェックしてアップデート対象かを調べ、必要であればディスクイメージをダウンロードしてきて特定のプログラムを実行する。

アップデート中により細かい操作を必要とする場合、Objective-C APIを経由して直接フレームワークの操作に介入できる仕組みも用意されている。実際にUpdate Engineを使う例がHello Update Engineにおいて動画として公開されているため、Update Engineを使いたい場合にはチェックしてみるといいだろう。