デバイスメタデータパッケージを導入する
さて、デバイスメタデータパッケージを作成するには、先の手順で用意した三つのXML形式ファイル、一つのアイコンファイル。これらをCAB形式で圧縮しなければなりません。Microsoftの技術資料によると、Microsoft Cabinet SDKに含まれるcabarc.exeを用いていますが、すでに同SDKの配布は終了しています。Web上を検索しますと、個人のミラーから入手することも可能ですが、今回はpon softwareが個人に限り無償使用可能な圧縮展開ツール「Explzh for Windows」を使用することにしました。
あらかじめExplzh for Windowsを導入し、これまで作成してきたファイルをCAB形式で圧縮します。ポイントは「Packageinfo.xml」などがあるフォルダーがルートになっていなければなりませんので、今回の例では「DeviceInfo」フォルダーを開いてから、XML形式ファイルおよびサブフォルダーをExplzh for Windowsにドラッグ&ドロップしてください。すると圧縮形式の確認をうながされますので、CAB形式を選択しましょう。あとは任意のファイル名を付けてデスクトップなどに保存します(図32~34)。
図32 Explzh for Windowsを起動し、ウィンドウに「DeviceInfo」フォルダーの内容をドラッグ&ドロップします。ダイアログが起動したら、<CAB>を選択して<OK>ボタンをクリックしてください |
次にデバイスメタデータパッケージファイルを格納する「%ProgramData%\Microsoft\Windows\DeviceMetadataStore」フォルダーを開きましょう。通常は「en-US」フォルダーしかありませんので、「ja-JP」フォルダーを新規作成してください。このフォルダー内に先ほど作成したCAB形式ファイルを移動し、「{GUID}.devicemetadata-ms」というファイル名に変更しましょう。今回の例では、「0d95ade4-e58c-5847-9b12-5aad261f49fa.devicemetadata-ms」となります(図35~37)。
図35 [Win]+[R]キーを押してファイル名を指定して実行を起動してから、テキストボックスに「%ProgramData%\Microsoft\Windows\DeviceMetadataStore」と入力して<OK>ボタンをクリックします |
図36 「DeviceMetadataStore」フォルダーが開いたら、何もないところを右クリックし、メニューから<新規作成>→<フォルダー>と選択して「ja-JP」フォルダーを作成します |
確認をうながすダイアログが起動したら<はい>ボタンをクリックしてください |
あとは<スタート>ボタンをクリックし、メニューから<デバイスとプリンター>をクリックして同フォルダーを開けば、コンピューターアイコンが指定したものに変更されます。コンピューターの写真などを基にアイコン化し、本手順でカスタマイズを行なえば、より面白いものになるでしょう(図38~39)。
図38 <スタート>ボタンをクリックし、メニューから<デバイスとプリンター>をクリックします |
なお、デバイスメタデータパッケージファイルを格納するのは「%ProgramData%\Microsoft\Windows\DeviceMetadataStore\{ロケール}」フォルダーですが、各パッケージは「%USERPROFILE%\AppData\Local\Microsoft\Device Metadata\dmrccache\{ロケール}」フォルダーに展開されます。動作を監視しますと、「DeviceMetadataStore\{ロケール}」フォルダーにデバイスメタデータパッケージファイルが存在しますと、自動的に「dmrccache\{ロケール}」フォルダーに展開されますので、異なるアイコンに変更する場合は、「DeviceMetadataStore\{ロケール}」フォルダーの拡張子「.devicemetadata-ms」を持つファイルを削除し、デバイスメタデータパッケージファイルを作り直してください(図40)。
ちなみに、このデバイスメタデータパッケージに関する技術情報は、Windows Hardware Developoer Centerの該当ページで解説され、同サイトにしては珍しく日本語に翻訳された技術者向けドキュメントもダウンロードできます。本稿でもデバイスメタデータパッケージロジックを応用した記事作成を予定していますが、ご興味のある方は一度ご覧ください。
阿久津良和(Cactus)