您可以将代码包含为用户定义表达式的一部分,来检测安装在用户机器上的 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 不存在。
通过查找 /var/mqsi/install.properties 可以检测 V6 和更高版本的运行时。此文件中的每行都包含一个安装路径和 V.R.M.F 版本信息。
通过查找 /etc/IBM/WebSphereMessageBrokersToolkit/products/com.ibm.wbmt 是否存在,可以检测 V6 和更高版本的工具。
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