Lesson 1 始めよう

7. ファイルだけでなく

外の実世界では、おそらく、最終的な格納場所にファイルをコピーするだけでなく、より多くのことが必要になってくるでしょう。 レジストリのエントリーを作成するためには、コンポーネントの中に RegistyKey 要素を含めます。

<RegistryKey Id='HogeRegInstallDir'
    Root='HKLM' Key='Software\Piyo\Hoge 1.0' 
    Action='createAndRemoveOnUninstall'>
  <RegistryValue Type='string' Name='InstallDir'
      Value='[INSTALLDIR]'/>
  <RegistryValue Type='integer' Name='Flag' Value='0'/>
</RegistryKey>

Action 属性は、create または createKeyAndRemoveKeyOnUninstall です。 そして Type は、string, integer, binary, expandable および multiString のどれかです。 Name 属性が省略された場合は、default キーが作成されます。

multiString の場合は、一つまたは複数の RegistryValue を子要素に使って、それぞれの文字列を定義します。

<RegistryKey Id='HogeRegInstallDir'
    Root='HKLM' Key='Software\Piyo\Hoge 1.0'
    Action='createAndRemoveOnUninstall'>
  <RegistryValue Type='multiString' Name='InstallDir'
      Value='[TARGETDIR]'/>
  <RegistryValue Type='multiString' Name='InstallDir'
      Value='[INSTALLDIR]' 
      Action='append'/>
  <RegistryValue Type='multiString' Name='InstallDir'
      Value='[ProgramFilesFolder]' 
      Action='append'/>
</RegistryKey>

アプリケーションが固有のファイル・データ・タイプを扱う場合は、そのためにファイルの関連付けを登録する必要があります。 ProgId をコンポーネントの中に含めます。 そして、FileId で、この拡張子のファイルを取り扱うように意図されているファイルを記述する File 要素の Id を参照するようにします。

<ProgId Id='PiyoHoge.xyzfile' 
    Description='ぴよソフト ほげ データ・ファイル'>
  <Extension Id='xyz' ContentType='application/xyz'>
    <Verb Id='open' Command='Open'
         TargetFile='FileId' Argument='"%1"' />
  </Extension>
</ProgId>

このファイル・タイプにアイコンを割り当てるためには、アイコンをどこから取得すべきかを定義しなければなりません。

<ProgId Id='PiyoHoge.xyzfile'
    Description='ぴよソフト ほげ データ・ファイル'
    Icon='Hoge.ico'>

また、複数のアイコンを持つ実行ファイルやリソース・ファイルからアイコンを取得する場合は、どのアイコンであるかを指定することが出来ます。

<ProgId Id='PiyoHoge.xyzfile'
    Description='ぴよソフト ほげ データ・ファイル'
    Icon='Hoge.exe' IconIndex='1'>

そして最後に、.ini ファイルを書きたい場合は — 今日ではレジストリの方が人気がありますが — コンポーネントの中に次のように書きます。 .ini ファイルは、インストールの対象フォルダではなく、常にシステム・フォルダの中に作成されます。

<IniFile Id="WriteIntoIniFile" Action="addLine" Key="InstallDir"
    Name="Hoge.ini" Section="Paths" Value="[INSTALLDIR]" />

次のレッスンでは、ユーザーが何をどこへインストールするかを決める機会を得ることが出来るように、ユーザー・インタフェイスを実装する方法を調べます。

↑ 先頭  |  • 目次  |  « 前へ  |  次へ »  |  ∗ 原文

Table of Contents

1 始めよう

  1. ソフトウェア・パッケージ
  2. 中に入るファイル
  3. 使用に供する
  4. 便利な追加機能
  5. どこにインストールするか
  6. 条件付きインストール
  7. ファイルだけでなく
  8. 削除時の孤児化

2 ユーザー・インタフェイス

  1. 最初のステップ
  2. カスタムの設定
  3. UI の魔法
  4. 英語はわかりますか
  5. チェーンの新しい環
  6. 地域化を考える

3 イベントとアクション

  1. 列に並んで
  2. 追加のアクション
  3. 本に書かれていないこと
  4. コントロールをコントロールせよ
  5. マネージする方法
  6. 後の段階で

4 アップグレードとモジュラー化

  1. 古いのを探す
  2. 自分自身を置き換える
  3. パッチワーク
  4. 断片
  5. 融合するもの

5 Net と .NET

  1. .NET の枠組み
  2. ブートストラップ
  3. インターネットを起動する
  4. ウェブ・ディレクトリ
  5. サービスの提供

6 COM、式の構文、その他

  1. 違う色のコンポーネント
  2. 式の構文
  3. 書式指定文字列
  4. DDE 接続
  5. ディレクトリの作成
  6. 複数メディアのインストーラ
  7. プログラムの追加と削除の項目
  8. 新顔のユーザー
  9. 環境に優しく
  10. XML
  11. COM+ アプリケーション
  12. バージョンごとに

7 SQL

  1. データベースを作成する

8 ユーザー・インタフェイス再び

  1. 一つだけのダイアログ
  2. チューニング・アップ
  3. 相互作用
  4. カスタマイズがいっぱい
  5. これが進捗ですか
  6. よく出来ました
  7. 法律用語
  8. 順番外
  9. 英語はわかりませんか

9 トランスフォーム

  1. インストーラを変形する

10 標準ライブラリ

  1. カスタム・アクションとユーザー・インタフェイス
  2. お静かに願います