The present invention provides a system for creating an application
software environment without changing an operating system of a client
computer, the system comprising an operating system abstraction and
protection layer, wherein said abstraction and protection layer is
interposed between a running software application and said operating
system, whereby a virtual environment in which an application may run is
provided and application level interactions are substantially removed.
Preferably, any changes directly to the operating system are selectively
made within the context of the running application and the abstraction
and protection layer dynamically changes the virtual environment
according to administrative settings. Additionally, in certain
embodiments, the system continually monitors the use of shared system
resources and acts as a service to apply and remove changes to system
components. The present thus invention defines an "Operating System
Guard." These components cover the protection semantics required by DLLs
and other shared library code as well as system device drivers, fonts,
registries and other configuration items, files, and environment
variables.