Currently we are using Map Suite 7.0 and would like to modernize our service. The service is currently hosted in “classic” Azure infrastructure that is being deprecated after 9 years or so. I would like to upgrade our service to run in Azure Functions or preferably in a docker container.
I have been trying to evaluate version 13 by running it in a docker image and have had several hurdles. Firstly, I kept getting SkiaSharp
dependency errors and was disappointed to find out your software dependencies are not self contained in NuGet. To fix this issue I had to install a couple libraries directly into the docker image.
My current stopper is that I cannot seem to get around is how the licensing works.
Your Product Center CLI tooling is woefully out of date and is not a self contained app, so I had to hunt down and find the now unsupported docker image for .NET Core 3.1 to even run the tool. My prototype application is using .NET 7.0 with intentions to moving it to 8.0 once it is released in a couple months. Running the service on an antiquated docker image is out of the question.
After registering for the evaluation license on the .NET Core 3.1 container I found that the license file is stored as /root/.local/share/ThinkGeo/Map Suite 13.0/MapSuiteDevelopment.lic
Whenever I move this file over to the .NET 7.0 docker image I continue to get the following exception.
System.InvalidOperationException: Welcome to ThinkGeo components! Please sign up at https://helpdesk.thinkgeo.com/register, download Product Center, and start your evaluation for free. If you are doing non-map-related development, please contact your map developer to get a runtime license, which will allow you to continue development with blank maps.
at ThinkGeo.Core.ValidatorHelper.CheckStatus()
at ThinkGeo.Core.ValidatorHelper.CheckInputValueIsLargerThanZero(Double value, String parameterName)
at ThinkGeo.Core.Projection.GetProjStringByEpsgSrid(Int32 srid)
at ThinkGeo.Core.Projection.ConvertEpsgToProjString(Int32 srid)
at ThinkGeo.Core.Projection..ctor(Int32 srid)
at ThinkGeo.Core.BingMapsLayer..ctor(String applicationId, BingMapsMapType mapType)
at RavenSlingshot.MapImage.Managers.MapImageManager.GetBaseLayer(String layerName)
Is it even possible to run your software in a docker container with your licensing implementation?