Initializing help system before first use

Creating FICO Xpress Runtime Distributions

Topics covered in this chapter:

For distributing an application that uses some portion of FICO Xpress Optimization to end-users we recommend that you distribute the whole installation package, but if you only want to distribute parts of it then here is how to do it.

Runtime Libraries and Other Dependencies

  1. Make sure that there is no other Xpress software, library files or license files on the path or in any directories used or accessed by your application – in particular, be careful that no earlier releases of Xpress software are present.
  2. The files you need to run (but not compile) applications depend on which of the Xpress libraries you are using. Here we give the files required for Windows and Linux; the files required for other Unix operating systems are similar to those required for Linux, but the exact file names sometimes differ in an obvious way. (The suffix X in Linux file names indicates the version number.) All of these files (with the exception of your particular license file, xpauth.xpr) should be taken from the current Xpress release distribution. See note 9 below for an explanation of the UNIX symbolic links required for UNIX installations.
    • An Optimizer application requires the files

      Windows Linux Notes
      Optimizer library xprs.dll libxprs.so.*
      Optimizer library Java wrapper javaxprs.dll libjavaxprs.so (Java and MATLAB Java only)
      Optimizer library C++ API xprscxx.dll libxprscxx.so (C++ only, if required)
      Xpress support library xprl.dll xpnll.dll libxprl.* libxpnll.*
      MATLAB interface xprs*.mexw* xprs*.mex* (MATLAB only)
      Knitro library xknitro.dll xknitronl.dll libiomp5md.dll libxknitro.so.* libxknitronl.so.* (if required)
      License file xpauth.xpr xpauth.xpr


      • For a Python application, the xpress package from Pip or Anaconda must be installed in the Python environment containing your application. Please refer to the Python interface reference manual for installation instructions.
      • For an R application, the xpress package must be installed in the R environment containing your application. Instructions for installing this package can be found in the R/INSTALL.txt file in your Xpress installation.
      • For a .NET application, you would require either the FICO.Xpress.XPRSdn.*.nupkg package or the xprsdn.dll file from within it, depending upon how you distribute your application. NuGet packages for Xpress are not available through online package repositories. Xpress .NET libraries can be used on Windows and Linux platforms only.

    An application outsourcing optimization solves to the Xpress Insight Compute Interface requires additional files

    Optimizer Webservices client library xprsws.dll libxprsws.so.*
    Curl library libcurl.dll libcurl.so.*
    Jansson library jansson.dll libjansson.so.*
    Libwebsockets library websockets.dll libwebsockets.so.*
    OpenSSL libraries libcrypto*.dll libssl*.dll libcrypto.so.* libssl.so.*
    Zip library libzip.dll liblibzip.so.*

    A Mosel (run-time library) application requires the files

    Optimizer library xprs.dll libxprs.so.* (if required, see additional dependencies below)
    Mosel library xprm_rt.dll libxprm_rt.so.*
    Mosel executable mosel.exe mosel (required for remote connections or Mosel command line)
    Mosel library Java wrapper xprm_rtJ.dll libxprm_rtJ.so.* (Java and MATLAB Java only)
    Mosel compiler library xprm_mc.dll libxprm_mc.so.* (if required, e.g. by executable)
    Mosel compiler library Java wrapper xprm_mcJ.dll libxprm_mcJ.so.* (Java only; if required)
    Mosel library .NET wrapper helper DLL xprndn-c- helper.dll libxprndn-c- helper.so (Windows/Linux .NET only)
    MATLAB interface moselexec.mexw* moselexec.mex* (MATLAB only)
    Natural language support xprnls.dll libxprnls.so
    Mosel modules or packages used XXX.dso XXX.bim XXX.dso XXX.bim (as required, see additional dependencies below)
    VB library extensions xprmvb.dll N/A (VB only)
    Xpress support library xprl.dll xpnll.dll libxprl.* libxpnll.*
    License file xpauth.xpr xpauth.xpr

    • For a .NET application, you would require either the FICO.Xpress.XPRMdn.*.nupkg package or the xprmdn.dll file from within it, depending upon how you distribute your application. NuGet packages for Xpress are not available through online package repositories. Xpress .NET libraries can be used on Windows and Linux platforms only.

    Certain Mosel modules or packages have additional dependencies, so these files also need to be provided if you use the specified component:

    aec2.bim mmjobs.dso mmhttp.dso mmssl.dso
    mmsystem.dso mmxml.dso
    Windows: mplink.exe mpscp.exe
    dmp.dso mmhttp.dso mmsystem.dso
    Windows: jansson.dll
    Unix: libjansson.so.*

    executor.bim mmjobs.dso mmhttp.dso mmxml.dso
    mmsystem.dso executor.dso
    Windows: jansson.dll
    Unix: libjansson.so.*
    fssappstudio.bim mmxml.dso mmsystem.dso
    kalis.dso Windows: Kalis.dll xprs.dll (Windows and Linux)
    Linux: libKalis.so libxprs.so.*
    libstdc++.so.* libgcc_s.so.*+
    matlab.dso (MATLAB installation required)

    mmhttp.dso mmjobs.dso mmsystem.dso
    mminsight.bim mminsight.dso mmxprs.dso mmxml.dso
    mmsystem.dso mmhttp.dso mmjobs.dso
    trusteddsn.dso mmssl.dso
    s3.dso s3.bim debugarchive.bim
    mminsightannotations.bim
    mmjobs.dso Windows: xprm_mc.dll
    Unix: libxprm_mc.so.*
    mmoci.dso (Oracle Instant Client installation required)
    mmrobust.dso mmxprs.dso
    Windows: xprs.dll / Unix:libxprs.so.*

    mmsheet.dso Windows: libxl.dll (Windows, Linux, OSX)
    mmssl.dso mmsystem.dso
    Windows: LIBEAY32.dll SSLEAY32.dll
    Unix: libssl.so.* libcrypto.so.*
    mmsvg.bim mmsystem.dso mmjobs.dso
    mmxml.dso mmsvg.tgz
    mmxml.dso mmsystem.dso

    mmxnlp.bim mmxprs.dso mmnl.dso mmjobs.dso
    mmsystem.dso mmxnlp.dso
    Windows: xprs.dll / Unix: libxprs.so.*
    Knitro solver (optional):
    Windows: xknitro.dll xknitronl.dll
    libiomp5md.dll
    Unix: libxknitro.so.* libxknitronl.so.*

    mmxprs.dso Windows: xprs.dll / Unix: libxprs.so.*
    python3.dso (Python 3 installation required)
    r.dso (R installation required)
    s3.bim mmjobs.dso mmssl.dso mmxml.dso
    mmsystem.dso mmhttp.dso s3.dso
    Windows: jansson.dll
    Unix: libjansson.so.*
    zlib.dso Unix: libz.so.* (no extra dependency on Windows)
    mmssl executable Windows: mmssl.exe / Unix: mmssl (required for https setup)
    xprmsrv executable Windows: LIBEAY32.dll ssh.dll
    Unix: libssh.so.* libcrypto.so.* (for remote connections)

    If you are using a floating license, you also need these files:

    Xpress license manager xpserver.exe xpserver
    License state query tool xplicstat.exe xplicstat
    OpenSSL libraries libcrypto*.dll libssl*.dll libcrypto.so.* libssl.so.*

    • Some of the components of FICO Xpress Optimization contain open source software. When redistributing parts of Xpress please make sure that you also include the corresponding files from the licenses subdirectory of the Xpress distribution.
  3. Copy all of the Xpress files listed above to one directory on your end-user's computer. This can be any directory, but we strongly recommend that you use the directory containing your application program.
    If you are building a runtime distribution for Mosel applications we recommend that you maintain the same subdirectory structure (with directories bin, dso, lib, and if you are using MATLAB also matlab) as the original Xpress distribution.
  4. Windows libraries: Add the directory containing the Xpress files to the Windows PATH, so that Windows knows where to find the Xpress DLLs.
  5. Unix libraries: Add the directory containing the Xpress libraries to the environment variable for locating shared libraries on your platform (LD_LIBRARY_PATH for Linux, DYLD_LIBRARY_PATH on macOS).
  6. Windows licensing: Copy the Xpress license file, xpauth.xpr, into the directory containing the Xpress DLLs. If you store the license file in a different location, set the XPAUTH_PATH environment variable to its full path. It is not recommended to store the license file in a different location, because it adds to the complexity of the Xpress licensing procedure and makes it difficult to support your application on your end-user's computer. For the same reason, it is not recommended to specify the location of the license file by passing an explicit path argument (to XPR?license or XPR?init) when initializing Xpress.
  7. Unix licensing: Set the environment variable XPAUTH_PATH to the full path to the Xpress license file, xpauth.xpr.

    Note: Previous releases of Xpress used the XPRESS environment variable to locate the license file. This is now deprecated in favour of the XPAUTH_PATH environment variable. When upgrading, please ensure that any installation scripts, application code and documentation is updated to use XPAUTH_PATH instead of XPRESS.

  8. If you are using Mosel, set the environment variable MOSEL_DSO to point to the directory containing the Mosel DSO files.
  9. Unix symbolic links: The tar file distributions contain symbolic links e.g. libxprs.so.17.10.01 -> libxprs.so.17.10 -> libxprs.so ( .so extension may vary between UNIX platforms).
    In the example above, the binary file has the full version number postfixed to enable the support team to easily identify the exact version number being used. The intermediate filename without the 3rd element of the version number is used internally by one Xpress component to link to another. The link with no version number is used to support the version-independent documentation, examples and example makefiles.
    In general, it is possible to remove the soft links and rename the libraries, with the following exceptions. The security library must be made available as libxprl.so.yyyy for all Xpress components to use. If any components ( including Xpress Optimizer console ) other than the Xpress Optimizer runtime library are to be used then the Xpress Optimizer runtime library must be made available as libxprs.so.xx.yy .

Dongles

  1. If you are using Xpress dongles, you must install the dongle driver on your end-user's computer. You can obtain the files necessary to do this from the fico.com website:
    • For HASP dongles on Windows, you need the file
      \windows\dongle\hasp\hinstall.exe
      Administrator privileges are required to install the dongle driver. To install the driver, execute
      hinstall -i -criticalmsg
      The driver does not normally start up until the computer is re-booted.
    • For HASP dongles on Linux you need the file HDD_Linux_dinst.tar.gz (available from the Xpress client area download page); to install the dongle driver daemon you must uncompress this archive somewhere convenient, switch to your superuser account and run the supplied dinst shell script.

Floating Licenses

  1. Users with floating licenses: make sure the Xpress license manager is installed and running on the server machine. Please refer to the chapter FICO Xpress Licensing for full instructions and troubleshooting. If you wish to install the license server as a service on Windows machines, run this command:
    xpserver -service install
    and to remove the service:
    xpserver -service remove
  2. Users with floating licenses: when creating your installer for the client machines you will have to construct an xpauth.xpr file for connecting to the server. This file should contain one line as follows:
    use_server name="<servername>"
    Where <servername> is the name of the license server machine. You may wish to prompt the user for this information as part of the install process.

© 2001-2025 Fair Isaac Corporation. All rights reserved. This documentation is the property of Fair Isaac Corporation (“FICO”). Receipt or possession of this documentation does not convey rights to disclose, reproduce, make derivative works, use, or allow others to use it except solely for internal evaluation purposes to determine whether to purchase a license to the software described in this documentation, or as otherwise set forth in a written software license agreement between you and FICO (or a FICO affiliate). Use of this documentation and the software described in it must conform strictly to the foregoing permitted uses, and no other use is permitted.