Software License Management for Multiple Publishers

Software License Management for Multiple Publishers – 2 strategies

When you have licensed software from multiple publishers, you must decide how you want to configure your software license management installation.   You have two choices for configuring rlm and the ISV servers when running them on a single license server system.

The first choice is to keep them entirely separate, using separate installation directories and port numbers, for example:

Software License Management for Multiple Publishers


  • conceptually simple


  • The two rlm client connection ports and web server ports will have to be managed so that they don’t collide.
  • Users of the rlm web interface will have to remember which port number goes with which.
  • The default rlm client port numbers as established by the publishers (in the license files or environments on all the client machines) will need to be changed, for at least 1 publisher.

The second choice is to  run a single instance rlm, which manages two (or more) ISV servers.  This is the method recommended by Reprise Software. For example:

Recommended Strategy for software license management from multiple publishers


  • Only a single RLM port need be managed.  If a new ISV server is added with a new port, the single copy of rlm adds this port to the list of ports it listens to.
  • A single web interface is used for all publishers/ISV servers.
  • No client-side changes need to be made for any publisher.
  • Simple, straightforward method to add a new publisher/ISV server, when the time comes.


  • You must be sure to always select the newest version of rlm (rlm.exe) and the utilities that any of your publishers use.

The simple way to accomplish this is to copy one publisher’s server-side files to the other
publisher’s server directory.  Or create a central repository of rlm server side files. The files necessary are:

  • rlm[.exe]. Use the latest version from all the publishers involved, or better yet, get
    the latest from
  • <ISV>[.exe] or <ISV>.set from all vendors
  • *.lic from all vendors
  • Command line utilities such as rlmstat[.exe], rlmdown[.exe], etc. As with rlm[.exe] use the latest from the vendors involved, or download from:


  1. James O'Shea says:

    We have run into the problem where another vendor also uses Reprise License Manager and both can not run on it. This blog seems to address this issue. However, I have no clue what the instructions mean. Can a more detailed and simply explained set of instructions be written?

  2. Richard Hagen says:

    Please address a strategy on how to make the single RLM work when the vendor locks the RLM license with a custom HASH file. Once the vendor generates the HASH, you may incur fees to have the HASH changed. Unfortunately, the HASH file is calculated using the port number as one of the variables so you cannot change anything. RedGiant currently do this.

    The only way I can think of is to rename all the other vendors to use the port that is in the redgiant license… or just be forced to run more than one RLM server again.

  3. admin says:

    I’m not sure what you mean by a “custom hash”, but in any event, this is something you should take up with Red Giant. It seems unlikely to me that they include the port # in any encrypted value, and if they do, this is (to my thinking) not a good thing to do. If they do this, you are correct, you will have to put all your other vendors on the same port #. You should be able to modify the ISV server’s port number with the “port=…” parameter on the ISV line.

  4. How do we configure the License file in option or scenario 2?

    If we want to use one rlm.exe with port 5053 then we need no port specified on the HOST line of either license file.

    If one publisher provides a license file with a HOST line with port 5030 specified on the license file then should all other license files also have port 5030 on the HOST line? I understand the ISV’s will grab any available port but that is not true of rlm,exe.

    Is this correct? All license files need no port or the same port on the HOST line.

    Thanks for clarifying.

  5. admin says:

    you set the port to 5053 in all the license files. Or you can keep the port #s different – rlm will bind all the ports found in all license files.

  6. Thank you for the reply. We have a customer that was trying to use one instance of RLM and one webserver with three different license files. The HOST line had 3 different port numbers specified as 5057, 5020, 5030. The licenses kept going down. I was able to resolve this by setting the same port on all 3 HOST lines. Your reply does not indicate that is required.

  7. David says:

    Could you please explain in detail how to set a second ISV into the RLM.
    Currently, the RML has one ISV with the port 5052. Now I need setup simio app as a second ISV. The license was created and the file .lic was copied into the client. When I try to li k the server with the app, using a different port, there is not a connection. However, if I use the port 5054 or 5053 there are connection but the the RLM loses the access (as a conflict of ports).
    What could I do?

  8. Bastian says:

    It’s the first time I’m using rlm (we have several flexlm-Services running), and I would like to use scenario 2: 1 rlm, multiple ISVs. You recommend using the latest version of the rlm. I guess the ISVs have to be compatible to it.

    Our vendor shipped rlm v10.1, the currently latest version is v14.0. During startup the vendor tells me he would use rlm v10.1 (RLM License Server Version 10.1BL2 for ISV “vendor”, Server architecture: x86_w2) whereas the rlm itself tells the following: RLM License Server Version 14.0BL2, Server architecture: x86_w3.

    The startup works without complications, but querying the ISV status crashes the ISV thread and querying its debug log even crashes the whole rlm (I did not test anything else so far).

    I downloaded the rlm v14.0 from here also contained a demo.set. So I created a license file pointing to that ISV. The queries mentioned above both work for that demo-ISV.

    The error message appears to be this one: “communications (socket) problems” error, but the mentioned command does not work and the linked documentation seems to be unavailable. Could you point me in the right direction?

    I like a lot about the rlm so far (appendable, seperate log/dlog-files, a password-protected web-interface, the approach on license activation) but for the second scenario I see compatibility issues between rlm and the ISVs. An ISV should never be able to crash the rlm as it affects all other ISVs. And for upgrading the rlm I would have to take down all licenses, correct? But the redundant server would take over then?

    We could discuss this via mail if it exceeds the topic of this article. I could also contact the vendor, but some of the issues seem more related to the rlm itself. I want to have the best fit for our company.

    Thank you in advance!

  9. admin says:

    Hello Bastian: Your issues are most effectively worked out between us and the ISV in question. If you could send a similar message to your ISV and have them contact us on our support email, then we can work with them to correct the issue. A newer version of the RLM binary should always work with an older ISV server, so this is a most likely a bug.
    Thank you very much.

  10. Tomasz says:


    I have a doubt regarding the first choice. Has anyone tested that? When we setup first RLM instance it will open UDP port 5053. Another RLM instance will not be able to do the same as the port is already in use and there is no way to change UDP port to any other.
    Expected error:
    … error binding UDP port 5053, port in use

    Conclusion is that only one RLM can work in one server, or I missed information how to change UDP port?

  11. admin says:

    UDP port 5053 is not required, and is used for broadcasting only. If you have a multiple-ISV installation, especially if you are using the first method, you won’t be using broadcast. This is a warning and can be ignored.

  12. Magnus Larsson says:


    I have two lic files for the fail-over server, the primary.lic and the fail-over.lic – What is the syntax to start more than one .lic file? Or do I concatenate them into one lic file or combine in other means on the fail-over server? I could not find much information how to setup a two-server redundant configuration.

    ./rlm -c /path/primary.lic -c /path/fail-over.lic?
    ./rlm -c /path/*.lic?
    ./rlm -c /path/combined.lic?


  13. Steve says:

    I would like to use senerio 2 and store ISV files in a different directlry than the rlm files.
    For example, if my ISVs were vendorA and vendorB I would like a directory structucture like the following (Windows):

    vendorA.exe or .set

    vendorB.exe or .set

    Is something like this possible and if so, how do you configure RLM so that it knows where the vendor files are?

  14. Ren says:

    I just downloaded v15. I replaced all of the executables and the service won’t start.
    I swapped out the old files v12 and the service is running fine.

    Any suggestions?

Leave a Reply

Your email address will not be published. Required fields are marked *