It depends on many factors, especially on the way you want to distribute the license:
- manually (each functionality of application have to be activated separately):
- User gives the device UID to the vendor to purchase the license, via either mail or phone.
- Vendor uses license issuer program to generate the license based on the device UID to unlock features user bought; then the license is send as a text file or an email to the user for activation.
- User uses license in the activiation form to activate the application.
See: A Ready To Use Software Licensing Solution in C#[^]
- automatically (the license is for the whole application):
- Application connects via internet with the license server and checks if its copy is registered or not
- Depending of number of bought copies, the application enable user to use it
The second option assumes that:
- the workstation where the application is installed, has got an access to the internet,
- the software owner has got a WebAPI server which returns information about a license details
Good luck!