1. A method for providing access to an application, the method comprising: determining an activation code based on a unique identifier of a computing device on which the application is to be run, an encrypted machine key different from and corresponding to said unique identifier and stored in a read only memory of the computing device, and an application identifier associated with the application, wherein said encrypted machine key is assigned by a manufacturer of said computing device during manufacturing of the computing device and said activation code is determined remotely from the computing device; and providing the activation code to the computing device.