The goal of this project is to centralize the patching and installation of applications. Given a windows server where all the applications like Microsoft Office are installed, a client should be able to open the shared binaries (executables and dynamically linked libraries (dlls)) installed on the server and run the application directly on the client without having to install it. The executable should actually run on the client (not a thin client scenario where the actual application is hosted on the server and the display is exported to the client).This model has the advantage of utilizing the computing power of the client. To achieve this objective, we intercept and redirect the windows system calls (using the Feather Weight Virtual Machine(FVM) framework) and user level APIs for COM. Whenever an application tries to open a particular dll we redirect it back to the shared location on the server which contains the actual dll. A local cache of dlls is maintained for faster access. Every time a dll is accessed from the cache, we check the server for a newer version of the dll (some update to the application might have changed the dll). The newer version is copied over to the cache and it erases the previous copy of the dll. When the server is down the application can run in disconnected mode using only the dlls from the local cache. User level APIs for COM are intercepted to enable Inprocess and Independent process COM. Finally porting of FVM framework to Vista SP1,SP2 and windows 7 is described.