How can i control access to a directory on my server for a software installer.

Customers are paying for the application, what methods are normal practice to ensure the download is only being done by a paid user?

Is there a better way of deployment, temporary links or something? Like e-mail with activation link, how is that done?