パッケージングについて
前回まででガジェット自体の実装はひとまず完了しました。さて,ガジェットそのものができたのであれば当然配布するという流れになるわけで,今回はパッケージングと配布方法を解説します。
通常ガジェットが配布される形は,HTMLや画像ファイルなどがばらばらの状態ではなく,単一のファイルとなっています。そのひとまとめになったファイルをダウンロードし,開くことでガジェットのインストールを行えます。
パッケージを作る方法
ガジェットのパッケージの作成はとても簡単で,ガジェットのフォルダをそのままZIPまたはCAB(キャビネット)形式で圧縮し,圧縮したファイルの拡張子を.gadgetにするだけです。
前回までに作成したWikipediaSearchガジェットをパッケージ化する場合,%USERPROFILE%\AppData\Local\Microsoft\Windows Sidebar\Gadgets\WikipediaSearch.gadgetをZIPまたはCABで圧縮し,WikipediaSearch.gadgetというファイル名にします。たったこれで出来上がりです。
試しにWikipediaSearch.gadgetをダブルクリックすると,以下のようなダイアログが表示されてインストールできることがわかります。
パッケージの形式
パッケージの圧縮形式にZIPとCABを選べるのですが,それぞれの場合の違いはなんでしょうか。利点と欠点でまとめたのが以下の表です。
| 形式 | 利点 | 欠点 | ZIP | Windows Vistaではフォルダの「送る」メニューから「圧縮 (zip 形式) フォルダ」を選択するだけで手軽に作成できる | パッケージにコード署名できない |
|---|---|---|
| CAB | パッケージにコード署名できる | Windowsの標準機能では作成できない |
つまり,大雑把にはコード署名ができるかできないかの違いでしかありません。
コード署名とはガジェットだけでなく実行ファイルなどにも行うもので,ファイルの配布元を証明し,内容の改ざんが行われていないことを確認するための情報です。そのファイルや配布元が信頼でき安全かどうかの保証ではない点に注意が必要です。
先ほどのWikipediaSearchでは署名されていなかったため,発行者が「不明な発行者」となっていますが,たとえばMicrosoftが配布しているEncartaのガジェットをインストールしようとすると発行者に「Microsoft Corporation」と表示され,Microsoftの発行したものであることが見てとれます。
署名を行うには通常第三者機関(証明機関)を通す必要があり当然コストがかかります。ですから,ホビーでの開発者などがコード署名を行うのはあまり現実的ではありません。なお,当然ですが企業などが配布する場合などは署名することが強く望まれます。
署名が現実的ではないとなると,ZIP形式は手軽に作成できるので,あえてCAB形式を選ぶ必要はないといえます。

