I've got a whacky situation that I can't seem to figure out. We have a distributed client/server application written in C# using .Net 2.0. It runs fine...for days, for weeks, everything is pee-chee. This is on Windows XP Pro, SP2, btw. Then, suddenly, one day, the application won't run. It crashes on startup. I can't even begin to debug it because it seems the system has crashed the application before the client entry point.
The application will fail to run indefinitely. Until...get this...until I move the program to another directory. Without rebuilding the application, without changing the .config files, without doing anything to the actual bits or configuration of the application, simply moving the assemblies to another folder (or more practically, simply renaming the parent folder) is sufficient to allow the application to start up and run again.
The users are running the application under a "Limited User" account. I suspect this to be an important tidbit of information. And, as far as I can tell, all the permissions are set properly. Nothing, as far as I can tell, changes wrt the folder/system permissions. Even if I create a new folder with the same name/path as the crashing scenario, and reset all the permissions, etc. the application simply won't run. If I just rename the last folder in the path to the application, then it will run again.
This smells like some sort of whacky permissions/security thing, or something. But, I can't figure out why it will run for a period of time, and then suddenly stop. Nor, can I figure out how to get the application to run again unless I rename the parent folder that houses the application assemblies.
Help?
Thanks,
-tedvz