2006-11-21

続々Windowsインストーラ  [by miyachi]

これまたシリーズ化してしまいそうですが、前回に引き続きまたWindowsインストーラの話題を。今回はインストーラによる、拡張子からのアプリケーション関連付けに関してです。ある拡張子(例えば ".langedge")に、Visual Studio 2005 で作成しているアプリケーション(例えば "letool.exe")を関連付けたいとします。

良くある要求だと思いますのでこれはOrcaを使わなくても出来るだろうと、Visual Studio 2005 のセットアッププロジェクトのプロパティや色々な箇所をチェックしてみました… それらしい項目が見つからない…

ではと出来上がったMSIファイル(例えば letool.msi)をOrcaで開いてみました。TablesのExtensionがどうもそれらしい。でも Component としてどうやってアプリケーションを指定するかが良く判りませんでした。仕方が無いのでググって以下のページを発見。

 チュートリアル : Windows アプリケーションの配置

この中に「ファイルの関連付けの作成」と言う解説があり、これが私の探しているものでした。とは言えここの説明は少し例が良く無いので意訳として ".langedge" 拡張子の例を以下にまとめてみましょう。
  1. ソリューション エクスプローラで自分のセットアッププロジェクトを選択。
  2. [表示]メニューから[エディタ > ファイルの種類]を実行。
  3. [ファイルの種類]画面の[対象コンピュータ上のファイルの種類]を選択。
  4. [操作] メニューか右クリックから[ファイルの種類の追加]を実行。
  5. "新しいドキュメントの種類 #1"を"letool.Document"に変更。
  6. [プロパティ] ウィンドウで[Extensions] プロパティに「langedge」を設定。
  7. 同様に[Command] プロパティに「プロジェクトのプライマリ出力」を設定。
  8. 同様に[Description] プロパティに説明[letoolのドキュメント]を設定。
  9. 必要なら同様に[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を入れてみました。少し動作が軽くなったのかな?良い調子ですが、タブを閉じるボタンが各タブに付くようになったので、タブを閉じる時にまだマウスが悩んでしまいます(笑) まあじきに慣れるでしょう(^^;
2006-11-21 10:17:53 - miyachi - - [プログラミング] -

2006-11-16

続Windowsインストーラ  [by miyachi]

Windowsインストーラが Visual Studio 2005 のプロジェクト追加で出来る事は判った。非常に簡単で便利です。ところが必須コンポーネントを自動インストールした後でMS-Officeの動作がおかしくなるとの報告が。再起動すれば直るらしいので、どうも再起動を必須にしなければいけない様子。

ではと Visual Studio 2005 で追加したセットアッププロジェクトをチェックするがどうも再起動の指定に関する項目が無いようだ… とググってみたところ、MSサポートで以下のページを発見する。

 Orca データベース エディタを使用して Windows インストーラ ファイルを編集する方法

Orcaと言うツールを使えば作成したインストーラファイルの項目を修正できるようだ。OrcaってMSから提供されるツールなんですが、こんなツールがあるなんて知らなかったなあ(^^;

ただ取得方法が少し面倒。上記ページに手順がありますが、まずは Windows Installer SDK を手に入れてインストールする必要がある。ここから入手しろとありますが、このリンク先は「Windows Server 2003 SP1 Platform SDK Web Install」です。そのままインストールすると色々と不要な物までインストールされるので、カスタマイズインストールで Windows Installer SDK だけをインストールすればOKです。

Windows Installer SDK をインストールしたらOrcaが使えるようになる訳ではありません(笑) 更に Microsoft SDK\Bin の下に Orca.msi があるので、それをダブルクリックしてOrcaインストーラを起動してやっとこさOrca本体のインストールが完了です。う~ん面倒。でもこれでOrcaが使えるようになります。便利なツールなので会社の場合には誰かがまず Orca.msi をゲットしてそれを共有した方が良いですね。と言う事で社内の share\archive の下に Orca.msi を置いておきました。>Okaくん&Komoriyaくん

次に再起動の設定はどうすれば良いかと言うと以下のページが参考になります。

 管理システムは、 Visual Studio .NET を使って、作成したセットアップ プロジェクトで再起動します。

さっきのページと違って日本語が胡散臭いですね。これは機械翻訳された物ですがまあ日本人には参考になります。再起動のセットはOrcaを使って以下の手順で行えます。
  1. Orcaで修正したいインストールファイル(*.msi)を開く。
  2. TablesタブよりPropertyを選択して右側に一覧を表示する。
  3. メニュー"Tables/Add Row..."を実行する。
  4. PropertyにREBOOTを、ValueにForceをセットしてOKをクリック。
  5. 保存すれば完了。
ふむ簡単だし便利ですね。この調子で細かなインストーラ設定がOrcaを使って出来そうです。ところで先に書いた機械翻訳のページではREBOOT/Forceも再起動/強制になってますが、当然これは英語で書かねばなりません。こういう場合はオリジナルの英語ページを見ましょう。URL最後のjaen-usに変更すれば英語で見る事が出来ます。

今回はGUIを使って手動でセットしましたが、VisualBasic等を使って自動セットする方法もあるようですが、今日はここまで。参考になれば幸いです。
2006-11-16 09:49:59 - miyachi - - [プログラミング] -