Lesson 1 始めよう

4. 便利な追加機能

言うまでもない事ですが、単に二~三のファイルをコピーするよりも、はるかに多くのことが出来ます。 まず最初に、起動条件を付けることが出来ます。 何らかのグローバルな設定をチェックして、もし条件が合わなければ、インストールを中止することが出来るのです。 前のサンプルのどこか、機能(Feature)の中ではないところ(例えば、Package タグと Media タグの間)に、下記の行を追加して下さい。 そうすると、あなたがマシンの管理者でない場合は、パッケージは起動しなくなります。

<Condition Message="インストールするためには、管理者である必要があります。">
  Privileged
</Condition>

Vista の場合は、こうです。

<Condition Message="インストールするためには、管理者である必要があります。">
  AdminUser
</Condition>

注意すべき事は、開始タグと終了タグの間に書かれた条件がと評価されるときに、メッセージが表示されて、インストールが中止されるということです。 言い換えると、エラーになる条件を定義するな、インストールを続行したい条件を定義しろ、ということです。

<Condition Message="インストールするためには、管理者ではない必要があります。">
  NOT Privileged
</Condition>

同様の条件として使える標準的なプロパティはかなり沢山ありますが、 最も重要なものはセットアップを起動しようとしている Windows のバージョンを特定するものでしょう。 Version9X は、Windows 95, 98 および ME の場合に真になります。 VersionNT は、NT 4.0 以降で真になります。VersionNT64 は、64-bit オペレーティング・システムを示します。

<Condition Message='この製品は、Windows 95/98/ME でのみ動作します。'>
  Version9X
</Condition>

実際には、これらのプロパティは真偽値ではなく整数値であり、さらに詳細な変種をチェックするために使うことも可能です。

<Condition Message='Windows 95'>
  Version9X = 400
</Condition>
<Condition Message='Windows 95 OSR2.5'>
  Version9X = 400 AND WindowsBuild = 1111
</Condition>
<Condition Message='Windows 98'>
  Version9X = 410
</Condition>
<Condition Message='Windows 98 SE'>
  Version9X = 410 AND WindowsBuild = 2222
</Condition>
<Condition Message='Windows ME'>
  Version9X = 490
</Condition>
<Condition Message='Windows NT4'>
  VersionNT = 400
</Condition>
<Condition Message='Windows NT4 SPn'>
  VersionNT = 400 AND ServicePackLevel = n
</Condition>
<Condition Message='Windows 2000'>
  VersionNT = 500
</Condition>
<Condition Message='Windows 2000 SPn'>
  VersionNT = 500 AND ServicePackLevel = n
</Condition>
<Condition Message='Windows XP'>
  VersionNT = 501
</Condition>
<Condition Message='Windows XP SPn'>
  VersionNT = 501 AND ServicePackLevel = n
</Condition>
<Condition Message='Windows XP Home SPn'>
  VersionNT = 501 AND MsiNTSuitePersonal AND ServicePackLevel = n
</Condition>
<Condition Message='Windows Server 2003'>
  VersionNT = 502
</Condition>
<Condition Message='Windows Vista'>
  VersionNT = 600
</Condition>
<Condition Message='Windows Vista SP1'>
  VersionNT = 600 AND ServicePackLevel = 1
</Condition>
<Condition Message='Windows Server 2008'>
  VersionNT = 600 AND MsiNTProductType = 3
</Condition>
<Condition Message='Windows 7'>
  VersionNT = 601
</Condition>

このようなプロパティが他にも沢山あり、起動条件として使用できます。 例えば、MsiNTProductType を使うと、ワークステーション、ドメイン・コントローラ、サーバーを区別することが出来ます。 その他の MsiNT プロパティも、必ずチェックしておいて下さい。

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

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. お静かに願います