統合インストール・パッケージ (IIP) の重要な特長の 1 つは、マクロを使用して組み込みインストール・パッケージのインストールを自動化できることです。
このトピックでは、IIP マクロに関する以下の情報を記載します。
定義済みのマクロを使用することにより、IIP の柔軟性を高め、IIP 作成時にビルド定義ウィザードですべてを指定しなくても特定のコントリビューションのインストール方法を自動化することができます。例えば、IIP ビルド定義ウィザードでロケーションを手入力によって 2 回指定しなくても、同じロケーション (または同じロケーションに相対的なロケーション) に異なる 2 つのインストール・パッケージをインストールすることができます。 最初のパッケージのインストール・ロケーションを 2 番目のパッケージの -installLocation オプションに自動的に割り当てることにより、最初のパッケージのインストール・ロケーションがインストール・ロケーションのデフォルトになるようにすることができます。IIP の作成時に変更の許可をしていれば、インストール時にユーザーはこの値を変更することができることに注意してください。マクロは、IIP がインストールされるまで解決されないため、その IIP を作成するユーザーだけでなく、IIP を呼び出すユーザーも使用することができます。ビルド定義ウィザードと IIP インストール・ウィザードの両方には、オプション・ストリングを手動で編集して直接にマクロを作成または変更しなくても、ユーザーがマクロを活用するための便利な方法が用意されています。
以下のマクロを IIP で使用できます。
これは、指定された呼び出しの結果値 を値として取り、マクロをその値で置き換えます。ここで <Invocation_ID> は、名前付き結果値を指定する、IIP 内のコントリビューション呼び出しを指定します。呼び出し ID は、異なるコントリビューションが同じ結果値名を使用する場合、または指定されたコントリビューションの呼び出しが複数存在する場合に発生する可能性がある、何らかのあいまいさを解決するために必要になります。例えば、IIP にプロセス・サーバーのインストール・パッケージ (Invocation_ID = 6.2.0-WS-WBI_1-1) および Feature Pack for Web Services のインストール・パッケージが含まれている場合には、プロセス・サーバーと同じ場所にフィーチャー・パックを自動的にインストールすることが考えられます。これを実現するには、IIP インストールのコマンド行で、以下のオプションをフィーチャー・パック・インストール・プログラムに渡します。
-OPT installLocation=$RESV{6.2.0-WS-WBI_1-1:installLocation}
このマクロは、指定された名前のオプションの値を取り、マクロをその値で置き換えます。ここで <Invocation_ID> は、名前付きオプションをサポートする、IIP 内のコントリビューション呼び出しを指定します。 これは、異なるコントリビューションが同じ結果値名を使用する場合、または指定されたコントリビューションの呼び出しが複数存在する場合に発生する可能性がある、何らかのあいまいさを解決するために必要になります。参照される呼び出しで実際に指定されていなかったために、参照されるオプションを解決できない場合は、IIP インストール中のエラーです。 IIP ユーザーは、参照される呼び出しを変更してそのオプションが含まれるようにする、またはその参照を含むマクロを変更/除去する必要があります。このマクロを使用して、値を取らないオプション (例えば、-silent) を参照するのは、IIP 作成中のエラーです。 この場合、ビルド定義ウィザードがエラーを発行し、IIP はビルドできなくなります。
この例は、1 つの重要な点を除いて、$RESV の例と非常によく似ています。
-OPT installLocation=$OPTV{6.2.0-WS-WBI_1-1:installLocation}
このマクロは、どこであれ -installLocation オプションによってプロセス・サーバーに渡されたインストール・ロケーションを値として取り、フィーチャー・パックにその値をインストール・ロケーションとして渡します。これは、プロセス・サーバーがサイレント・インストールされた場合には問題ありませんが、プロセス・サーバーが GUI モードでインストールされた場合には、ユーザーがインストール・ウィザードでロケーションを変更して別の場所を指定した可能性があります。それでもこのマクロは、IIP 作成時に設定された元の値に解決します。この場合は、オプション値マクロ ($OPTV) ではなく、結果値マクロ ($RESV) を使用することをお勧めします。
このマクロは、指定された名前のオプションの仕様を値として取り、マクロをその仕様で置き換えるか、指定されている場合には string で置き換えます。<Invocation_ID> は、名前付きオプションをサポートする、IIP 内のコントリビューション呼び出しを指定します。 オプション仕様は、コマンド行での正確なオプションの指定方法を示す、値を差し引いたストリングで、-OPT installLocation= のようになります。このマクロは、ほとんどの場合、-silent のように値を何も取らないオプションで使用されます。マクロの string 部により、参照されるオプション仕様を直接使用するのではなく、このマクロの代わりとしてストリング値を使用できます。 これにより、2 つの異なるコントリビューションで、同じ機能に対して異なるオプションを選択できる場合 (この場合はサイレント・インストール) をサポートします。コントリビューションの 1 つがこのマクロを使用し、他のコントリビューションがサイレントで呼び出されたかどうかをチェックし、サイレント呼び出されている場合は、string を使用してサイレント呼び出し用の独自のオプションを指定できます。
$OPTV マクロとは異なり、$OPTS は、参照される呼び出しで参照されるオプションが指定されていなかった場合に、拡張されて空ストリングになります (これは、エラー状況ではありません)。これは、インストール・モードなどをサポートするために重要です。-silent のようなオプションが指定されていないと、インストーラーは GUI モードを使用するからです。仕様を持たないオプションを参照するためにこのマクロを使用すると、エラーになります。
-silent などの値を取らないオプションは、例えば次のようにマクロを使用して解決することもできます。
$OPTS{6.2.0-WS-WBI_1-1:silent}
この場合は、プロセス・サーバー・コントリビューション 6.2.0-WS-WBI の呼び出しで、参照されるオプション -silent が指定されていれば、マクロはオプション仕様 -silent で置き換えられます。 このオプションが指定されていない場合、マクロは空ストリングに解決されます。これにより、コントリビューションの 1 つで指定されたオプションに基づき、サイレント・モードまたは GUI モードで、コントリビューションのセットを一貫してインストールすることができます。この参照がユーザー・エラーの場合、参照されるコントリビューションでオプションが指定されていなければ、警告が発行されます。
このマクロは、IIP の指定されたパッケージ呼び出しのロケーションに解決し、結果は絶対パスになります。Contribution_ID と Sub_ID が指定されている場合、これは、IIP 内の指定されたコントリビューションのルート・ロケーションに解決されます。例えば、Windows 用のプロセス・サーバー製品の基本エディションのコントリビューションがある場合、そのコントリビューションのルート・ディレクトリーは IIP_home/contrib/6.2.0-WS-WBI/1/WinX32 となります。 以下のマクロ例は、このディレクトリーに解決します。
$LOC{6.2.0-WS-WBI_1}
IIP だけを指定すると、この値は IIP のルート・ディレクトリー (つまり、IIP_home) に解決します。
$LOC{IIP}
このマクロは、名前付き Java™ プロパティーの現行値で置き換えられます。これは、Java ランタイムで現在知られているいずれかのプロパティーです。例えば、IIP ビルド定義ウィザードでの作業中には、コントリビューション呼び出しのターゲット・インストール・ディレクトリーを指定するよう求められます。root 以外のユーザーのデフォルトのターゲット・インストール・ディレクトリーは以下のとおりです。
$JP{user.home}/IBM/WebSphere/ProcServer
これにより、現在のユーザーのホーム・ディレクトリーに /IBM/WebSphere/ProcServer を付加し、ディレクトリー・パスを完成させます。