酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

Windows Mobileで日本語のショートカットを表示するスマートデバイスCABを作成する

Windows Mobile実践プログラミング with .NET Compact Framework

Windows Mobile実践プログラミング with .NET Compact Framework

  • 作者: 清野竜矢,伊藤伸裕,和田健司
  • 出版社/メーカー: 毎日コミュニケーションズ
  • 発売日: 2009/10/23
  • メディア: 単行本(ソフトカバー)
  • 購入: 1人 クリック: 61回
  • この商品を含むブログ (9件) を見る

Windows Mobile実践プログラミング with .NET Compact Framework」にも書かれているけれど、スマートデバイスCABプロジェクトでは、日本語のショートカットを作る事が出来ません。

スタートメニュー/プログラムで日本語のショートカット表示するCABファイルを作成する機会があったのでまとめてみました。

準備

CabWizは、Windows Mobile 6 SDKに付属しているものを使うとして、Windows Mobile 6 SDKが、「C:\Program Files\Windows Mobile 6 SDK\Tools\CabWiz」にインストールされている事を前提としています。

日本語のショートカット名が定義されたXML

以下のXMLを"postxml.xml"という名前で保存します。この時にエンコードは「UTF-8」を指定してください。文字コードは必ず「UTF-8」にしてください。大切なことなので2度言いました。

「type="日本語のショートカット名.lnk" 」とあるところの部分を任意の文字列で書き換えてください。「type="酢酸.lnk"」にすれば、スタートメニューには「酢酸」と表示されます。

<!--
//////////////////////////////////////////////////////////////////////////
// ファイル オペレーション
// 
// Note:
//  %CE5%  = "\My Documents"
//  %CE11% = "\Windows\Start Menu\Programs"
-->
<characteristic type="FileOperation">
  <characteristic type="%CE11%" translation="install">
    <characteristic type="日本語のショートカット名.lnk" translation="install">
      <characteristic type="Shortcut">
        <parm name="Source" value="%InstallDir%\ch3cooh.exe" translation="install" />
      </characteristic>
    </characteristic>
  </characteristic>
</characteristic>

もし、あなたがWindows Mobile 6.5のスタートメニューのように大きなPNGファイルをICOファイルの代わりに表示させたい場合は、インストール時にレジストリを追加するコードを追加したXMLファイルを作成しましょう。

<!--
//////////////////////////////////////////////////////////////////////////
// ファイル オペレーション
// 
// Note:
//  %CE5%  = "\My Documents"
//  %CE11% = "\Windows\Start Menu\Programs"
-->
<characteristic type="FileOperation">
  <characteristic type="%CE11%" translation="install">
    <characteristic type="日本語のショートカット名.lnk" translation="install">
      <characteristic type="Shortcut">
        <parm name="Source" value="%InstallDir%\ch3cooh.exe" translation="install" />
      </characteristic>
    </characteristic>
  </characteristic>
</characteristic>

<!--
//////////////////////////////////////////////////////////////////////////
// レジストリ オペレーション
// 
-->
<characteristic type="Registry">
  <characteristic type="HKLM\Security\Shell\StartInfo\Start\日本語のショートカット名.lnk" translation="install">
    <parm name="Icon" value="%InstallDir%\ch3cooh.png" datatype="string" translation="install"/>
  </characteristic>
</characteristic>
ワンクリックでスマートデバイスCABファイルを生成するバッチ

毎回毎回コマンドを打つのが面倒なので、AppSetup.vddprojと同じ階層にpostxml.xmlをReleaseフォルダにコピーして、ワンクリックでスマートデバイスCABファイルを生成するバッチを書きました。

「postxml_installfile.bat」とでも、適当なファイル名を付けて使ってください。

xcopy postxml.xml .\Release\ /Y
cd .\Release

"C:\Program Files\Windows Mobile 6 SDK\Tools\CabWiz\Cabwiz.exe" ch3coohSetup.inf /postxml postxml.xml

pause