これまたシリーズ化してしまいそうですが、
前回に引き続きまたWindowsインストーラの話題を。今回はインストーラによる、拡張子からのアプリケーション関連付けに関してです。ある拡張子(例えば
".langedge")に、Visual Studio 2005 で作成しているアプリケーション(例えば
"letool.exe")を関連付けたいとします。
良くある要求だと思いますのでこれはOrcaを使わなくても出来るだろうと、Visual Studio 2005 のセットアッププロジェクトのプロパティや色々な箇所をチェックしてみました… それらしい項目が見つからない…
ではと出来上がったMSIファイル(例えば
letool.msi)をOrcaで開いてみました。Tablesの
Extensionがどうもそれらしい。でも Component としてどうやってアプリケーションを指定するかが良く判りませんでした。仕方が無いのでググって以下のページを発見。
チュートリアル : Windows アプリケーションの配置
この中に「ファイルの関連付けの作成」と言う解説があり、これが私の探しているものでした。とは言えここの説明は少し例が良く無いので意訳として ".langedge" 拡張子の例を以下にまとめてみましょう。
- ソリューション エクスプローラで自分のセットアッププロジェクトを選択。
- [表示]メニューから[エディタ > ファイルの種類]を実行。
- [ファイルの種類]画面の[対象コンピュータ上のファイルの種類]を選択。
- [操作] メニューか右クリックから[ファイルの種類の追加]を実行。
- "新しいドキュメントの種類 #1"を"letool.Document"に変更。
- [プロパティ] ウィンドウで[Extensions] プロパティに「langedge」を設定。
- 同様に[Command] プロパティに「プロジェクトのプライマリ出力」を設定。
- 同様に[Description] プロパティに説明[letoolのドキュメント]を設定。
- 必要なら同様に[Icon]や[MIME]を設定。
以上で関連付けが出来ます。こうやって作成したインストールファイルをOrcaで開くと、Extentsionの項目に上記設定した内容がセットされているのが確認されます。なお注意点としては拡張子を[Extensions]プロパティにセットする際にはドット
"."は付ける必要がありません。
上記手順では[&Open]しか動作がセットされていません。他にも必要な動作があればドキュメント名(上例なら"letool.Document")を選択して[操作] メニューか右クリックから[動作の追加]を実行すれば増やすことが出来ます。それにしても、
[表示]メニューから[エディタ > ファイルの種類]を実行、なんてなかなか気が付きませんよね(^^;;
上記設定をしたインストーラを使ってインストールしたらレジストリエディタ(regedit)を使って確認しておきましょう。まず[マイコンピュータ > HKEY_CLASSES_ROOT]を開いて拡張子(上例なら ".langedge")が追加されていて、ドキュメント名(上例なら "letool.Document")がセットされている事を確認。次にドキュメント名("letool.Document")も追加されていて、"shell > open > command" にアプリケーション実行ファイルのパスが入っていたらOKです。以上参考になれば幸いです。
あと拡張子の関連付けではありませんが、Windows Installer を使う手順が判りやすく解説されているMSDNのページを見つけたのでリンク貼っておきましょう。
10 行でズバリ !! セットアップ プログラムの作成
余談:
FireFoxの2.0を入れてみました。少し動作が軽くなったのかな?良い調子ですが、タブを閉じるボタンが各タブに付くようになったので、タブを閉じる時にまだマウスが悩んでしまいます(笑) まあじきに慣れるでしょう(^^;