EducationSoftwareStrategy.com
StrategyCommunity

Knowledge Base

Product

Community

Knowledge Base

TopicsBrowse ArticlesDeveloper Zone

Product

Download SoftwareProduct DocumentationSecurity Hub

Education

Tutorial VideosSolution GalleryEducation courses

Community

GuidelinesGrandmastersEvents
x_social-icon_white.svglinkedin_social-icon_white.svg
Strategy logoCommunity

© Strategy Inc. All Rights Reserved.

LegalTerms of UsePrivacy Policy
  1. Home
  2. Topics

KB33033: How to apply patch library files to a MicroStrategy installation on Windows and Unix/Linux


Community Admin

• Strategy


MicroStrategy may release under very specific circumstances, a patch release with a few library files to be changed for MicroStrategy products. The following knowledge base article goes over the process to install a patch.

Strategy may release under very specific circumstances, a patch release with a few library files to be changed for Strategy products.
 
For Strategy Intelligence Server on Microsoft Windows, or components of Strategy Intelligence Server used by client applications such as Strategy Desktop, these files will be released as dll files. For Strategy Intelligence Server Universal on Unix / Linux, the patch library file names will be libM*.so (Linux/Solaris/HP-UX) or libM*.a (AIX). 
  
This technical note describes how users can apply such patch libraries to Strategy Intelligence Server installation.

  1. Understanding the readme file:
    Every patch release comes along with a readme.txt file outlining the files that have been changed in the release. An example of such a readme file is reproduced below. In this example the patch "9.0.0 Hotfix 2 Patch 3" is used:

    
     

    --------------------------------------------------------------------------------
    Strategy 9.0.0 Hotfix 2 Patch 3 (9.0.236.090) Readme
    --------------------------------------------------------------------------------
    This build was completed on 11/03/2009 and fixes the following issues:
     
    Strategy Intelligence Server
    ---------------------------------
    Issue description: RWD execution fails randomly when answering a filter object prompt within a relationship set qualification.
    Strategy Technical Support case number: NA
    Strategy Internal case number: 374363
     
    Issue description: AV when executing a RWD which contains reports sharing a data prompted filter or data prompted template.
    (link to template/filter).
    Strategy Technical Support case number: NA
    Strategy Internal case number: 378520
     
    Issue description: AIX / WIN32 /SUN: AIX: I Server assertion failed on CDSSBindingTable.cpp
    Strategy Technical Support case number: NA
    Strategy Internal case number: 379474
     
    --------------------------------------------------------------------------------
    Installation instructions
    --------------------------------------------------------------------------------
    This patch should be applied on top of Strategy 9.0.0 Hotfix 2 (9.0.230.090)
    1. Stop Strategy Intelligence Server in all cluster nodes.
    2. Search for the files changed (below) in the target machine and create a backup of these files in all cluster nodes.
    3. Copy the patched version of the file to the original location in all cluster nodes.
    4. Start Strategy Intelligence Server in all cluster nodes.
    --------------------------------------------------------------------------------
    Files changed
    --------------------------------------------------------------------------------
    On Windows (IServer)
    MHOBJCTX.dll
    MIXTBFCT.DLL
    MHRPTSRV.DLL
     
    On Windows (Desktop)
    M5OBJCTX.dll
    M7XTBFCT.DLL
    M5RPTSRV.DLL
     
    On Linux (IServer)
    libMHOBJCTX.so
    libMIXTBFCT.so
    libMHRPTSRV.so

     
    The first line in the readme file indicates the version of the patch and the build number. The version name implicitly indicates the prerequisite installed version required prior to applying the patch. In this example the current patch is "Patch 3" and must be applied over the 9.0.0 Hotfix 2 Installation only. The Build number indicates the number assigned by the internal build process used to create the libraries and is unique for a patch or patch family. 
     
    The next lines in the readme file indicate the products that are affected by the patch, and the specific issues that are addressed in the patch files. Since we are only concerned with the Intelligence Server product here, we will ignore the requirements that may be needed for other products in this discussion.
     
    The remaining information in the readme indicates the steps to install the library file which will be addressed in detail below, and the actual files that are present in the patch release. Users should note that the files that changed identify the specific products for which the files changed, and may affect the installation location for the libraries as well.
     
  2. To install patches for changed Strategy files on a Microsoft Windows Intelligence Server installation:
    1. To install the new DLL files for the patches on the Strategy Intelligence Server on Microsoft Windows, users should identify the installation folder chosen for the Intelligence Server installation. This information can be typically found in the "Program Files\Common Files\Strategy\" location in the "install.log" file. The default location for the Intelligence Server installation is "Program Files\Strategy\Intelligence Server".
       
    2. Once the Intelligence Server location is identified, users should find the DLL files that are changed and named in the patch readme (above), and rename or move the files from the location. Note that the Intelligence Server should be stopped before this time.
      For this example, the user could rename the files as (MHOBJCTX.dll.900HF2, MIXTBFCT.DLL.900HF2, MHRPTSRV.DLL.900HF2). If the files are not found in the Strategy Intelligence Server installation location, then they are likely to be libraries used by multiple Strategy applications and located in the "Program Files\Common Files\Strategy" location.
       
    3. Users can then place the new libraries provided with the patch in the Strategy Intelligence Server folder location or the "Program Files\Common Files\Strategy" location as needed. If the readme states that any patch files need to be registered, users can use the "regsvr32" command to carry this out.
       
    4. If the patch needs to be rolled back at any point, the newly copied files can be deleted, and the original libraries renamed from *DLL.900HF2 to *.DLL. Users should ensure that the Intelligence Server is not running at the time these changes are made.
       
    5. If any other DLL files are changed in the patch and must be applied to the appropriate products (in this example the M5OBJCTX.dll, M7XTBFCT.DLL and M5RPTSRV.DLL patch files must be applied to Strategy Desktop), these can be applied using the same procedure by renaming / moving the files and replacing them with the new ones. Users should ensure that the appropriate products are not running at the time when the library files are changed.
       
  3. To install patches for changed Strategy files on a Unix/Linux installation:
    1. The location of the Strategy Intelligence Server installation folder on Unix/Linux systems is chosen at installation time. By default the installer prompts users for an "Install" path - the default path is /opt/Strategy. The "lib" folder is created inside this location and the Intelligence Server libraries are placed in the lib folder.
       
      Users should be aware that patches that target the 32 bit MultiProcess components in the Intelligence server (example ODBC driver patches), are 32 bit libraries and are located in the <MSTR_INSTALL_PATH>/lib32 folder.
      The Intelligence Server process must be stopped before changing any files.
       
    2. Inside the lib folder users will see that there are two entries for most library files. One file has a suffix indicating the build number, and the second file is a symbolic link to the first, usually with the name "libM*.so" (libM*.a on AIX).

      
      lrwxrwxrwx   1 test test        28 Mar 10 14:43 libMHOBJCTX.so -> ./libMHOBJCTX.so.9.0.230.090*
      -r-xr-x---   1 test test   3244968 Nov  5 18:47 libMHOBJCTX.so.9.0.230.090*


       
      The Intelligence Server on startup attempts to load the libM*.so files (libM*.a on AIX), and because of the soft link, the appropriate libM*.so.BUILD_NUMBER library file is loaded.
        
    3. To install the patch files therefore, the user should rename the library files to libM*.so.BUILD_NUMBER, where BUILD_NUMBER is the patch build from the readme file, before copying the file to the "lib" folder. In this example the user would rename the patch library files libMHOBJCTX.so.9.0.236.090, libMIXTBFCT.so.9.0.236.090, libMHRPTSRV.so.9.0.236.090.
       
      These files can now be copied into the <MSTR_INSTALL_PATH>/lib folder. Now the users should delete the symbolic links that pointed to the original library files and create new links for the libM*.so files pointing to the patch libraries. For example:

      
      $ rm libMHOBJCTX.so
      
      rm: remove symbolic link `libMHOBJCTX.so'? y
      
      $ ln -s libMHOBJCTX.so.9.0.236.090 libMHOBJCTX.so


       
      Users should repeat this process for all the Intelligence Server library files provided as part of the patch.
       
    4. If the patch library files are not needed any longer, the user can simply remove and recreate the libM*.so link to point to the original library file.For example:

      
      $ rm libMHOBJCTX.so
      
      rm: remove symbolic link `libMHOBJCTX.so'? y
      
      $ ln -s libMHOBJCTX.so.9.0.230.090 libMHOBJCTX.so


       
    5. An alternative to (c) is to copy the patch files directly to the <MSTR_INSTALL_PATH>/lib folder without renaming them. Since the patch files are released as libM*.so or libM*.a files, they will overwrite the existing symbolic links and be read directly by the Intelligence Server. This is an acceptable means of installing the patch libraries as well, though users may not be able to identify the installed patches easily through this method. Again, to reverse the changes, the patch file would need to be deleted, and the libM*.so symbolic link recreated to point to the original library file.

Note: If the files replaced have extention .swf, then it is necessary to purge the Browser cache of each client machine so it uses the newer .swf file.


Comment

0 comments

Details

Knowledge Article

Published:

May 8, 2017

Last Updated:

September 17, 2019