Windows: changes for IBM MQ 8.0
For IBM® MQ 8.0, changes have been made to the default installation location for the server and 64-bit client installations. There has also been a change in the default data path for all installations. The compiler that is used for IBM MQ 8.0 on Windows has been changed.
Windows server installation
- For Windows 64-bit systems, the new 64-bit version of IBM MQ is installed into C:\Program Files\IBM\WebSphere MQ, and the Data Directory is put into C:\ProgramData\IBM\MQ.
- The bin directory contains the 32-bit binary files.
- The bin64 directory contains the 64-bit binary files.
- The tools\lib directory contains the 32-bit libraries for development.
- The tools\lib64 directory contains the 64-bit libraries for development.
- The IBM MQ.NET assemblies are in the bin folder.
- Samples for C, C++ are now compiled as 64 bit. The 64-bit C language samples are now available in the tools\c\samples\bin64 folder. There are a few 32-bit samples also available in the tools\c\samples\bin folder. C++ sample applications are now available in the tools\cplus\samples\bin64\vn folder.
Windows queue manager
The IBM MQ 8.0 for Windows queue manager runs 64-bit processes and supports 32-bit and 64-bit applications. In previous versions, the queue manager on Windows consisted of 32-bit processes only, even when the queue manager was running on 64-bit Windows platforms.
The location of the commands, binary files, and so on, has changed in Version 8.0. All commands are now in the bin64 folder. The bin folder contains 32-bit libraries. Queue manager commands can be executed from either the bin or the bin64 folder.
Queue manager exits on Windows 64-bit must be compiled as 64-bit. Any 32-bit queue manager exits must be recompiled before they can be used with a 64-bit queue manager.
Identifying processes in the Windows Task Manager
On 64-bit Windows platforms, IBM MQ 8.0 processes and processes for earlier releases of the product can be easily identified in the processes that are listed by the Windows Task Manager . As queue managers for releases before IBM MQ 8.0 are 32-bit, all queue manager processes for releases before Version 8.0 have '*32' associated with their process names. In Version 8.0, the queue manager is 64-bit, hence the queue manager processes in Windows Task manager do not have an associated '*32'.
Changes for Microsoft Visual Studio compiler
For IBM MQ 8.0, the queue manager and client libraries have been compiled with the Microsoft Visual Studio 2012 C/C++ compiler. The samples that are included with the product are also built by using the Microsoft Visual Studio 2012 C/C++ compiler.
All applications that were built before IBM MQ 8.0 should continue to work with the 64-bit queue manager. However, before IBM MQ 8.0.0, Fix Pack 2, the change to the compiler used for IBM MQ 8.0 means that all applications that use the C++ object interface need to be rebuilt because the Microsoft Visual Studio 2012 C++ standard libraries are not backwards compatible. Applications that use the C interface are not affected.
From Version 8.0.0, Fix Pack 2, IBM MQ provides C++ client libraries that are built with the Microsoft Visual Studio 2005 C++ compiler. These libraries are in addition to the existing IBM MQ 8.0 C++ libraries that are built with the Microsoft Visual Studio 2012 C++ compiler. Applications that are built by using a release of IBM MQ earlier than Version 8.0 can use these libraries because the Microsoft Visual Studio 2005 C++ standard libraries are backwards compatible.
From Version 8.0.0, Fix Pack 4, IBM MQ provides additional C++ client libraries that are built with the Microsoft Visual Studio 2012 C++ compiler. These additional libraries are named differently from the existing IBM MQ 8.0 C++ libraries that are built with the Microsoft Visual Studio 2012 C++ compiler. The different naming used for these additional libraries means that you can run IBM MQ C++ applications that are compiled with Microsoft Visual Studio 2012 and applications that are compiled with Microsoft Visual Studio 2005 on the same machine.