Original Post
Hello All, I am currently working on a project looking into the plausibility of running our application off of a USB Flash Drive. The application itself consists of many .exes that communicate with each other via ports that are opened as needed and also many .dlls that are loaded up as required during the process lifespan. The problem that I am looking into at the moment is when if a user removes the usb from their machine (thereby losing the location of all the .exes and .dlls) and then plugs it back in again, can the application still run normally. Note that if the user removes the usb from the machine the application pauses and is blocked with a modal dialog. No interaction with the application can be made until the USB Flash Drive has been plugged back in and USB Flash Drive is valid. At first thought I didn't think that I would run into too many problems as I assumed any .exes and .dlls that are being used would be loaded into memory completely. However my knowledge into the total scheme into how windows handles the loading of .exes and .dlls into memory is lacking. Does anyone have any thoughts or just some general information onto how windows many handle the loading of .dlls and .exes into memory and to how windows may behave when this event occurs (i.e the Removal of the USB Device). Thanks in advance and feel free to pose any questions.