Ok, so I'm making an ecommerce website with Drupal to sell my software. One of my application uses the standard licence key type method, where a licence key is generated and sent out to the user via email so they can activate the software. I want to make it quick and easy for the user to reset their licence key so that it no longer works on the current machine it's installed on and can be used on another. I have the technical side of things sorted out, but I'm not sure if I should create an account for the user upon checkout so that everything is one place.
My application doesn't use a licence key for technical reasons, so I am relying on genuine and honest customers. To help deter casual piracy, a download code is automatically generated which can be entered onto a webpage to initiate the download.
I am just wondering, which would be more convenient to the user: a system where an account has to be created during checkout and any licence keys or downloads are associated with it, or a system where licence keys and download codes are used as verification, including to get discounts etc. From a technical point of view, I think using accounts is the best option, but I'd rather please my customers than myself!