A system and method for executing a rental software program in a
distributed computing environment is provided. The system enables the
streaming of software applications to the client computer. It also
enables the system calls of the software application to be intercepted
and analyzed in order to determine when one or more optional files are
needed. The system also suspends the operation of the software
application during retrieval of the optional files from the server so
that the software application does not crash and then restarts the
software application once the optional files are retrieved. The system
also protects the software application and its optional files from
unwanted copying in that the system may remove all of the files from the
client computer once the rental of the software application has been
completed. Finally, the system also enables a software vendor to easily
and quickly upload a new software application to the server so that
client computers may rent the software application.