デスクトップ アプリのスタート画面のタイルをカスタマイズする方法 (Windows ランタイム アプリ) (Windows)
http://msdn.microsoft.com/ja-jp/library/windows/apps/xaml/dn449733.aspx
基本は上記をよく読めばいいのですが、何故か最終的に 150x150Logo.png 等のタイルのファイルを何処に置くのか?が書いてないので、補足&メモ的に残しておきます(ステップ1から5までが対象になりますね)
*.visualelementsmanifest.xml ファイルを用意する
1 2 3 4 5 6 | < Application xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" > < VisualElements BackgroundColor = "#FF0000" ShowNameOnSquare150x150Logo = "on" ForegroundText = "light" > </ Application > |
あるいは
1 2 3 4 5 6 7 8 | < Application xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" > < VisualElements BackgroundColor = "#FF0000" ShowNameOnSquare150x150Logo = "on" ForegroundText = "light" Square150x150Logo = "Assets150x150Logo.png" Square70x70Logo = "Assets70x70Logo.png" /> </ Application > |
という形で、ファイルを作成する。*.exe と同じ位置に用意するので、下の図のようにアプリケーション名 + visualelementsmanifest.xml で書いておきます。
Square150x150Logo と Square70x70Logo を指定しないときは、自動的にアプリのアイコンが使われます。背景色 BackgroundColor で揃えてもいいのですが、普通のストアアプリと同じように Logo のファイルも用意しておきます。
Assets フォルダを作っていますが、App.ico などと同じ場所に作ってもよいでしょう。その場合は、Assets150x150Logo.png を 150x150Logo.png のように書き換えます。
画像ファイルを「常にコピーする」に変更する。
ファイルのビルドアクションは「コンテンツ」、出力ディレクトリに「常にコピー」あるいは「新しい場合はコピーする」にします。ビルドしたときに、Assets フォルダに2つの画像ファイルが作られるようにしておけば ok です。
プログラムファイルにショートカットを作る
- Win+R キーを押して、shell:programs を起動する。
- *.exe のショートカットを作成する。
ショートカットは普通の *.lnk ファイルになります。
スタート画面のアプリメニューからピン留めする
スタートメニューのプログラム以下にショートカットを置くと、アプリ一覧にアイコンが出るのでスタート画面にピン留めします。
「Kindle 本棚」のアイコンがそれで、ストアアプリと同じように作れます。アイコン自体は、
Windows Store App logo Maker – 高橋 忍のブログ – Site Home – MSDN Blogs
http://blogs.msdn.com/b/shintak/archive/2013/01/01/10418997.aspx
を使うと便利です。必要なのは 150 と 70 のアイコンなので、それを Assets フォルダにコピーすれば ok です。
インストーラでスタートメニューに登録する
Visual Studioのセットアッププロジェクトが復活
http://www.infoq.com/jp/news/2014/05/vs2013_installer_project
Microsoft Visual Studio Installer Projects 拡張機能
http://visualstudiogallery.msdn.microsoft.com/9abe329c-9bba-44a1-be59-0fbf6151054d
標準の Visual Studio 2013 にはインストーラが付いていないのですが、Gallery からダウンロードできます。作り方は従来の Setup と同じなので、これを使ってスタートメニューに登録もできます。Kindle Launcher の購入一覧の取得ツールはこれを使っています。
アプリケーションフォルダに「コンテンツファイル」を追加すると Assets 以下のファイルもインストールの対象になります。
タイルを更新する裏ワザ
先の MSDN のヘルプにある、「ステップ 7: 重要!ショートカット ファイルを更新する」を利用します。裏ワザというか、リンクファイル(*.lnk)をスタート画面に再読み込みさせる仕組みです。画像ファイルや *.visualelementsmanifest.xml だけを更新してもスタート画面の画像は変化しません。説明にある通り、powsershell を使って (ls “$env:programdatamicrosoftwindowsstart menuprogramscontoso.lnk”).lastwritetime = get-date で *.lnk ファイルを更新します。いわゆる、touch コマンドと同じです。
なので、デスクトップアプリで定期的に画像ファイルを更新して、*.lnk を更新すればスタート画面のタイルをライブタイル化できるということです。定期的に *.visualelementsmanifest.xml の中身を書き換えるツールを作ればよいので、これはそれほど難しくないと思います。おそらくストアアプリの制限よりも早く回せるでしょう。まあ、デスクトップ側にスケジューラ用のアプリが自前で必要にはなりますが。