Corporate 2020R3 Server connection license

Hi there,

we have a plug-in here that no longer works properly under 2020 R3.

The license is queried in the background pluging (responses = EnvironmentManager.Instance.LicenseManager.GetLicense (DME_FireDetectionInterfaceDefinition.DME_FireDetectionInterfacePluginId):wink:

The plug-in is still running in trial mode for testing.

responses.Count is now 0 (should be 1).

I compared our plug-in with the ServerConnectionLicense demo, but I can’t see any difference (license programming!).

Under Corporate 2019 R3, programming is still running as expected.

What can be the reason under 2020 R3 that responses.Count outputs 0 here?

Thanks in advance

Andreas

Hello,

I tested also the Demo of ServerConnenctionLicense on my Server.

>>>

private static object NewLicense(VideoOS.Platform.Messaging.Message message, FQID s, FQID r)

  {

     EnvironmentManager.Instance.Log(false, "ServerConnectionLicense","------ServerLicense check-----", null);

     // We dont use anything from the actual message, as we simply ask for the license

     Collection<LicenseInformation> responses =

        EnvironmentManager.Instance.LicenseManager.GetLicense(ServerConnectionDefinition.ServerConnectionPluginId);

     if (responses != null)

     {

        EnvironmentManager.Instance.Log(false, "ServerConnectionLicense", "------License response-----", null);

        foreach (LicenseInformation response in responses)

        {

           EnvironmentManager.Instance.Log(false, "ServerConnectionLicense", "--License Name:" + [response.Name](https://response.Name), null);

           EnvironmentManager.Instance.Log(false, "ServerConnectionLicense", "--License LicenseType:" + response.LicenseType, null);

           EnvironmentManager.Instance.Log(false, "ServerConnectionLicense", "--License Counter:" + response.Counter, null);

           EnvironmentManager.Instance.Log(false, "ServerConnectionLicense", "--License Trial:" + response.TrialMode, null);

           EnvironmentManager.Instance.Log(false, "ServerConnectionLicense", "--License Expire:" + response.Expire, null);

           EnvironmentManager.Instance.Log(false, "ServerConnectionLicense", "--License Items:" + response.ItemIdentifications.Count, null);

        }

     }

     return null;

  }

>>>

I got the same result, responses count is 0.

One small clarification: The background plugin you have, is that running in the Event Server?

Yes, is running on the event server.

We have tested NewLicense method in ServerConnectionDump.cs in ServerConnectionLicense sample and it is working fine, so we have not reproduced this issue. We are using 2020 R3 both VMS and SDK.

For further investigation, can you please tell us how to reproduce it?

Note: If you want to run ServerConnectionLicense, please remove or comment out

from plugin.def because we want to see if Event server plugin works. (plugin.def file is located [C:\Program](file:C:/Program) Files\Milestone\MIPPlugins\ServerConnectionLicense)

It’s a fresh installation on a new evaluation server 2019. It’s running on a Hyper-V (16GB Ram, 6 Cores).

I don’t have to do anything special to reproduce that. As I said, everything has been completely redesigned because the upgrade from 2020 R2 to 2020 R3 failed.

PlugIn should run on the server (see picture below).

Let me tell you what we did for the test.

We tested two servers; both were 2020 R3 XPCO, one was activated and the other was not.

We ran the ServerConnectionLicense sample, NewLicense method in ServerConnectionDump.cs and saw what responses returned.

Activated server returned 1 and not activated server returned 0 that we had expected.

Are there any differences between your situation and ours? If we are missing something for the reproduction, please let us know.

We have here a test license. But this should be the same as in a full license.

The ā€œServer Connection License Sampleā€ is not licensed. This is running in trial mode. Like our Plugin. And trial mode is running out Feb. 18/2021.

Hi Andreas.

Sorry for the delay and the slight confusion. We have been investigating the code as well as the sample, and as we see it, it is working as it is supposed to.

We did do some changes regarding the license handling for 2020 R3 and that might have changed some behavior, but as we see it the current one is doing as it should.

The LicenseManager.GetLicense always returns what has been received from the Milestone licensing server and as no plugin license has been registered there (I assume since you say it is running in trial), it is not supposed to include any information about the plugin.

The LicenseManager.ReservedLicenseManager.GetLicense on the other hand will return what is registered locally (e.g. a trial period) and should thus be used for checking if a trial is still valid.

The Server Connection License sample does it like that, and works as expected in our tests.

It might be that there has been some incorrect implementation in old version that would make the LicenseManager.GetLicense return a default license even if none had been received from the license server yet, but that was imho incorrect behavior then. Sorry for the confusion this have caused.

Good morning Peter,

Thanks for your answer. I had success with LicenseManager.ReservedLicenseManager.GetLicenseInformation :wink:.

Many thanks…:grinning_face: