A method of licensing a program including a first executable file having a first header and a rest portion, stored in a remote server, and for being downloaded to a storage device in a local terminal having an operating system, an activation program, a license verification component and a random access memory, the method comprising steps of causing the OS to receive a program activation command from the activation program to activate the download of the first executable file of the program; causing the OS to store the first executable file in the storage device, wherein the first executable file is transferred from the remote server to the local terminal after the OS receives the program activation command, causing the license verification component to allow the OS loading the first header into the RAM for reading, and causing the license verification component to prevent the OS from loading the rest portion of the first executable file to be executed from a file system; causing the license verification component to work with at least one of the OS and the remote server to perform a license verification associated with the rest portion of the first executable file; allowing the rest portion of the first executable file to be loaded in the RAM for execution when the license verification is successful, wherein the license verification component includes a part of a device driver, and transmits a control message to the file system to enable the device driver to allow the OS to read the rest portion of the first executable file from the file system after the license verification is successful, and the device driver allows the OS to read the rest portion of the first executable file, loads the rest portion of the first executable file into the RAM from the file system, and allows the rest portion of the first executable file to be continuously executed. causing the OS to receive a program activation command from the activation program to activate the download of the first executable file of the program; causing the OS to store the first executable file in the storage device, wherein the first executable file is transferred from the remote server to the local terminal after the OS receives the program activation command, causing the license verification component to allow the OS loading the first header into the RAM for reading, and causing the license verification component to prevent the OS from loading the rest portion of the first executable file to be executed from a file system; causing the license verification component to work with at least one of the OS and the remote server to perform a license verification associated with the rest portion of the first executable file; allowing the rest portion of the first executable file to be loaded in the RAM for execution when the license verification is successful, wherein the license verification component includes a part of a device driver, and transmits a control message to the file system to enable the device driver to allow the OS to read the rest portion of the first executable file from the file system after the license verification is successful, and the device driver allows the OS to read the rest portion of the first executable file, loads the rest portion of the first executable file into the RAM from the file system, and allows the rest portion of the first executable file to be continuously executed.