S
Stephen Walch
We have a .NET class library with a built-in license-control system that
checks for the presence of a digitally signed license file AT RUNTIME. This
is a fairly standard technique that distinguishes between "trial" licenses
(which only allows only limited functionality) and "full" licenses.
We have not, however, figured out an effective way to apply licensing
techniques AT DESIGN TIME. I have evaluated a few different licensing
technologies and products and I have not figured out a way to achieve any
control, record or react to what kind of license is present when code that
is referencing our class licrary is bein compiled.
I have explored the facilities for licensing in System.ComponentModel and
(as far as I can tell) that only impacts what happens when a "component" is
being visually manipulated by designer tools such as a Visual Studio forms
designer. It does not seem to prevent anyone from compiling code that
simply instantiates my classes and calls my methods, not does it record any
licensing information when such code is being compiled.
At a high level, what I want to achieve is that developers can use a trial
license of my class library to compile and execute their own test programs,
but they should not be able to "go live" until developers have obtained a
"full" license, recompiled the app, and deployed to a machine that has a
"full" license.
checks for the presence of a digitally signed license file AT RUNTIME. This
is a fairly standard technique that distinguishes between "trial" licenses
(which only allows only limited functionality) and "full" licenses.
We have not, however, figured out an effective way to apply licensing
techniques AT DESIGN TIME. I have evaluated a few different licensing
technologies and products and I have not figured out a way to achieve any
control, record or react to what kind of license is present when code that
is referencing our class licrary is bein compiled.
I have explored the facilities for licensing in System.ComponentModel and
(as far as I can tell) that only impacts what happens when a "component" is
being visually manipulated by designer tools such as a Visual Studio forms
designer. It does not seem to prevent anyone from compiling code that
simply instantiates my classes and calls my methods, not does it record any
licensing information when such code is being compiled.
At a high level, what I want to achieve is that developers can use a trial
license of my class library to compile and execute their own test programs,
but they should not be able to "go live" until developers have obtained a
"full" license, recompiled the app, and deployed to a machine that has a
"full" license.