I have Windows desktop software that requires the installation of a small binary license file (1KB) that controls access to DLLs that are installed with the software package. The GUI part of the package has a separate 25 digit license key that controls the features that are available through the GUI.
I don't have any flexibility with respect to what goes in the 1KB file or what it's used for. That isn't my scope so I have to live with it.
What I'm wondering is, what is the best process from a UX perspective for delivering the license file (1KB), the license key (25 digits) and having them installed by the user?
The awful process I have now involves emailing the file and key to the user and having the user install them by copying the 1KB file (manually) into the software installation folder and entering the 25 digits into a dialog box in the Windows desktop software GUI. I know this is awful but it was done in a rush due to external constraints. Now that we have more time, we'd like to build something that is kinder to the user.
Some of the possible tricks that we have up our sleeves include:
- Establishing a licensing web service
- Sending text (encoded or otherwise) and/or attachments by email
- Including trial key stuff in the installer and sending paid user bits after the fact
One other piece of context: the software is a business application that is used by a few analysts in larger organizations. The solution isn't targeted at consumers doesn't need to be flashy, just not awful and inconvenient.
In response to comments on the original question:
Here's a bit more around my technical constraints: I have control over the software installation process and the Windows desktop software. I also have control over the license maintenance process, which runs as part of an administrative website.
What I can't change: The license comes in two parts (25 digit key and 1KB file). Also, there isn't a rock-solid 1:1 relationship between the 25 digit key and the 1KB file, so it might not always work that the user could cut and paste the 25 digits and then the desktop software (or installer) would download the 1KB file.
I'm less concerned about automating the license sending process than the license installing process. It's OK if the administrator has to pull the two pieces together somehow, what's really important to me is optimizing the end-user's experience of applying that information so that they get to the part where their software just works. The idea of somehow combining everything into one action at the user's end is very good though. I'm going to really mull that over.
I agree that licensing is anti-UX by its very nature. I'm looking for a solution that minimizes the pain, more so than maximizes the joy.