Using custom attributes and properties of the license object you can very easy assign product functionality to the different application editions, or even specify list of the features are available for customer.

It is very common situation when application has some editions available. For example, application comes in 3 editions: Express edition, Standard edition and Professional edition. Your customer is able to download the application and try it out. When he buys it (Express, Standard or Professional) you send him a license key such that it will activate only the required features, according to what he bought.

This schema can be implemented very easy with small additional programming from your side. The Manco .Net Licensing System allows including of the product edition into Unlock Key. So you can include characters that indicates edition of your application to the Unlock Key you will provide to your customer. The key info is encrypted so customer will not have a clue where and how application edition is stored. Our protection library accepts ‘Unlock Key’, validates it and if it is valid return customer specific information (user data and product edition) to you. Your code checks this data and enable or disable some functionality.

Another common scenario is selling the number of application features. For example, your application can have a, b, c, d, e, f, g features. Your customer can buy any set of the features. For example, 'abc' or 'cdef'.

This scenario can be implemented using ability to store product edition in the Unlock Key. But in this case it will not be a fixed letters which describe product edition, but a string which will help us to detect which features are allowed.

[Visual Basic]
If license.IsValid Then
' Set feature list to the license.
Dim featureList As String = CreateFeatureList(license.ProductEdition)
license.SetFeatureList(featureList);
End If
<FeatureId("Feature1")> Private Sub Feature1Method()
If license.IsMethodAllowed Then
' Perform operations
' ...
End If
End Sub
<FeatureId("Feature2")> Private Sub Feature2Method()
If license.IsMethodAllowed Then
' Perform operations
' ...
End If
End Sub