[Windows][Linux]

Limitations and other considerations for redistributable clients

There are a number of points to consider when installing the IBM® MQ C redistributable client for Linux® x86-64 and the IBM MQ C and .NET redistributable client for Windows x64 packages.

Limitations

GSKit objects
No new GSKit objects are shipped. Only the runtime files are shipped, both in a regular installation and with the redistributable client.
IBM JREs
No IBM JREs are provided with the redistributable client.

If you want to run Java/JMS applications, you must provide your own runtime environment. Your JRE, that applications run under, must meet the current SOE requirements and are bound by any restrictions or limitations that apply.

Developing applications
Before IBM MQ 9.1.1, all other files that support the development and distribution of applications (including copybooks, header files, and sample source code) are not available in any of the redistributable client packages, including the IBM MQ C redistributable client packages, and are not licensed for redistribution. If you need to develop IBM MQ applications, you still need to perform a traditional installation so that you obtain the SDK files that are required to build client applications.
[V9.1.1 Nov 2018]From IBM MQ 9.1.1, this limitation no longer applies to the IBM MQ C redistributable client packages. From IBM MQ 9.1.1, the IBM MQ C redistributable client packages. include the elements required to build the application that is the header files and copybooks. However, the sample source code is still not included in these packages.
[Windows]Windows C runtime libraries
[Windows]You might have these libraries on your machine already, but if you do not, you need to download and install the following Microsoft C/C++ runtime libraries:
  • Microsoft Visual C++ Redistributable 2008
  • Microsoft Visual C++ Redistributable 2012
[Windows]The download links for the redistributable downloads for each of these libraries can be found at The latest supported Visual C++ downloads.
The redistributable Java client does not include any of the files related to the JMSAdmin tool
A client installed by unpacking the redistributable Java client does not contain the JMSAdmin tool, or its pre-requisite JAR files fscontext.jar and providerutil.jar. This means that the client cannot connect to any file system contexts (.bindings files) created by a different installation that does have the JMSAdmin tool.
If you want to use a pre-existing file system context (.bindings file) with the redistributable Java client, you can obtain these pre-requisite JAR files from Maven:
[V9.1.0.8 Jun 2021]From IBM MQ 9.1.0 Fix Pack 8, the self-extracting JAR file version-IBM-MQ-Install-Java-All.jar includes all of the files related to the JMSAdmin tool. For more information, see Obtaining the IBM MQ classes for JMS separately.

Choosing the files to distribute with an application

A script file named genmqpkg is provided by the redistributable client under the bin directory. You can use the genmqpkg script to generate a smaller subset of files that are tailored to the needs of the application for which the files are intended to be distributed.

When you run the script, you are asked a series of interactive Yes or No questions to determine the runtime requirements for an IBM MQ application. Finally, genmqpkg asks you to supply a new target directory, where the script duplicates the required directories and files.

[V9.1.1 Nov 2018]From IBM MQ 9.1.1, the genmqpkg script that is shipped with the IBM MQ C redistributable client packages includes an additional question asking whether the runtime requires the SDK to compile applications. Also from IBM MQ 9.1.1, for the IBM MQ C redistributable client packages, responses can be given programmatically. All the interactive prompts can be bypassed by setting environment variables and executing the command with a -b flag to indicate a batch mode.

Important: IBM support is only able to provide assistance with the full, unmodified set of files contained within the redistributable client packages.

Other considerations

The default data path of a non-installed client is:
[Linux]Linux x86-64
$HOME/IBM/MQ/data
[Windows]Windows
%HOMEDRIVE%\%HOMEPATH%\IBM\MQ\data

On UNIX and Linux systems, the length of the path must not contain spaces.

Important: A redistributable client runtime co-exists with a full IBM MQ client or server installation, provided that they are installed in different locations. However, unpacking a redistributable image into the same location as a full IBM MQ installation is not supported.

On Linux the ccsid.tbl used to define the supported CCSID conversions is traditionally expected to be found in the UserData directory structure, along with error logs, trace files, and so on. The UserData directory structure is populated by unpacking the redistributable client, and so, if the file is not found in its usual location, the redistributable client falls back to locate the file in the /lib subdirectory of the installation.

Home directory

A ${HOME}/.mqm directory is created when using an unregistered or non-installed version of IBM MQ, such as the redistributable client.

The directory is created so that IBM MQ has a reliable way of accessing its socket files using a path that fits within the sun_path length. If IBM MQ cannot write to the HOME directory you receive an error message.

Classpath changes

The classpath used by dspmqver, setmqenv, and crtmqenv commands adds the com.ibm.mq.allclient.jar to the environment, immediately following the com.ibm.mq.jar and com.ibm.mqjms.jar.

dspmqver output examples

[Linux]An example of dspmqver output from the redistributable client on Linux:
Name:        IBM MQ
Version:     8.0.0.4
Level:       p800-804-L150909
BuildType:   IKAP - (Production)
Platform:    IBM MQ for Linux (x86-64 platform)
Mode:        64-bit
O/S:         Linux 2.6.32.59-0.7-default
InstName:    MQNI08000004
InstDesc:    IBM MQ V8.0.0.4 (Redistributable)
Primary:     No
InstPath:    /Development/johndoe/unzip/unpack
DataPath:    /u/johndoe/IBM/MQ/data
MaxCmdLevel: 802
[Windows]An example of dspmqver output from the redistributable client on Windows:
Name:        IBM MQ
Version:     8.0.0.4
Level:       p800-804-L150909
BuildType:   IKAP - (Production)
Platform:    IBM MQ for Windows (x64 platform)
Mode:        64-bit
O/S:         Windows 7 Professional x64 Edition, Build 7601: SP1
InstName:    MQNI08000004
InstDesc:    IBM MQ V8.0.0.4 (Redistributable)
Primary:     No
InstPath:    C:\Users\johndoe\Desktop\Redist
DataPath:    C:\Users\johndoe\IBM\MQ\data
MaxCmdLevel: 802