ユーザー定義拡張機能の一部として、ユーザーのマシンにインストールされている WebSphere Message Broker のバージョンを検出するコードを組み込むことができます。
インストーラー・スクリプトで以下の命令を使用して、WebSphere Message Broker の以下のバージョンをテストできます。 各バージョンを検出するには、各バージョンのレジストリー・キーを探してください。
HKEY_LOCAL_MACHINE¥SOFTWARE¥Microsoft¥Windows¥CurrentVersion¥Uninstall¥WebSphere MQ Integrator V2.1
HKEY_LOCAL_MACHINE¥SOFTWARE¥Microsoft¥Windows¥CurrentVersion¥Uninstall¥mqsi.studio¥DisplayVersion = 5.x.x.xこの例では、x は任意の整数です。
HKEY_LOCAL_MACHINE¥SOFTWARE¥Microsoft¥Windows¥CurrentVersion¥Uninstall¥mqsi.ib¥DisplayVersion = 5.x.x.xこの例では、x は任意の整数です。
HKEY_LOCAL_MACHINE¥SOFTWARE¥Microsoft¥Windows¥CurrentVersion¥Uninstall¥WMBT60¥DisplayVersion = 6.x.x.xこの例では、x は任意の整数です。
HKEY_LOCAL_MACHINE¥SOFTWARE¥Microsoft¥Windows¥CurrentVersion¥Uninstall¥mqsi60¥DisplayVersion = 6.x.x.xこの例では、x は任意の整数です。
UNIX プラットフォームでは、共通のパッケージ化方式はありません。ファイル・システムに存在しているファイルを調べる必要があります。検出する WebSphere Message Broker の各バージョンの下にリストされているファイルを探す必要があります。
/usr/opt/mqsi/bin/mqsilist が存在していることを確認する必要があります。 また、/usr/opt/mqsi/bin/mqsiprofile および /usr/opt/mqsi/bin/mqsisetdbparms が存在していないことを確認する必要もあります。
他の UNIX システムの場合:
/opt/mqsi/bin/mqsilist が存在していることを確認し、opt/mqsi/bin/mqsiprofile および /opt/mqsi/bin/mqsisetdbparms が存在していないことを確認する必要があります。
/usr/opt/mqsi/bin/mqsilist が存在していることを確認する必要があります。 また、/usr/opt/mqsi/bin/mqsiprofile が存在していないことを確認する必要もあります。
他の UNIX システムの場合:
/opt/mqsi/bin/mqsilist が存在していることを確認し、opt/mqsi/bin/mqsiprofile が存在していないことを確認する必要があります。
バージョン 6 以降のランタイムは、/var/mqsi/install.properties を探すことで検出できます。 このファイルの各行には、インストール・パスと V.R.M.F バージョン情報が含まれています。
バージョン 6 以降のツールは、/etc/IBM/WebSphereMessageBrokersToolkit/products/com.ibm.wbmt が存在しているかどうかを確認することで検出できます。
if [ -e /etc/IBM/WebSphereMessageBrokersToolkit/products/com.ibm.webt ] # Event Broker installed if [ -e `grep location /etc/IBM/WebSphereMessageBrokersToolkit/products/com.ibm.webt | sed 's/location=//'`/webt_prod/version.txt` ] # it is FP1 or greater get version from version.txt else #version is 6.0 fi fi if [ -e /etc/IBM/WebSphereMessageBrokersToolkit/products/com.ibm.wmbt ] # Message Broker installed if [ -e `grep location /etc/IBM/WebSphereMessageBrokersToolkit/products/com.ibm.wmbt | sed 's/location=//'`/wmbt_prod/version.txt` ] #It is FP1 or greater get version from version.txt else #version is 6.0 fi fi