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.