Hydra 6 .Net plugin. Devops build license issue

Hi.

I have a WPF Hydra 6 plugin which we need to build through an Azure DevOps build pipeline. I am trying to avoid installing Hydra on the build server to avoid maintenance when upgrading versions.

As you don’t seem to have a nuget package I created my own. The build process now completes on DevOps, but running the plugin gives a license error.

“The application was built with a trial version of RemObjects Hydra”.

Can I add the license to prevent this ?

Thanks
Martin.

Does Azure DevOps allow to deploy secret files to custom locations? You need to deploy your licenses file to %APPDATA%\RemObjects Software\Licenses

Thank you.
Short term I’ll manully copy the license to our dev client environment. We will be using an installer to deploy outside dev. Does the license need updating for every build ?

Where is the best place to pick up the license file from - is it the properties of the built plugin?

Thanks again.
Martin

Please note that the license file is used only at build time and should never be deployed with the compiled product. Compiled assembly contains a special resource signed using license info.

License file can be downloaded here: https://www.remobjects.com/portal/ section “License File Download”

I’ll log an issue to investigate is it possible to simplify deployment of license file for such automated build environments as Azure DevOps

Thanks, logged as bugs://84254

Ahhh, so it’s a build time issue not having the license to compile into the assembly - not a deployment issue where the license needs to exist on the client.

So I need to copy the license file onto %APPDATA%\RemObjects Software\Licenses on the build environment, not the client.

Thank you for clearing that up.

I got a little confused. I thought it was a similar issue to this

All working on DevOps build pipeline now, thank you.

Can you tell me does the license compiled into the executable expire and if so what happens at that point. I’ve been asked to document this in the proof of concept project report.

Our customer can’t always schedule regular releases. For example during this Coronavirus period all software releases have been halted. It would be a major issue if the license expired during this time and the system failed due to license expiring.

Thanks
Martin.

Hello

In short words - if the application was built with valid developer license then it will not expire.

You can easily check this by running your app in a virtual machine with network disabled and date set to f.e. 1st Jan of 2040.


A longer explanation:
Here

  • developer license is the license file downloaded from https://remobjects.com (the one put into %APPDATA%\RemObjects Software\Licenses)
  • compiled license - resource contained in the compiled application

How it works (short and not always accurate in all the details. Refer to MSDN for full and detailed explanation of the .NET licensing system):

  1. .NET build process founds licenses.licx file in the project
  2. .NET license compiler is run over that file
  3. For each type mentioned in licenses.licx license compiler loads its license generator
  4. License generator generates some resource. Here is the place where developer license is checked
  5. Generated resource is the compiled license
  6. Resource is added to the compiled assembly

At runtime when the application is executed the compiled license validity is checked.

Our compiled license license check code does NOT check for expiration date of the developer license

1 Like