So, I know this is a very basic question but I'd like to ask the experts just to make sure.
We have a .NET application that is running on an application server, and our users launch it using a shortcut on their workstations which points to the main executable through an UNC path (\AppServer01\Software\MainApp.exe). The problem is that this application crashes from time to time, and I can see in the eventlog on the clients that there are appcrashes and the faulting module is a dll in .NET.
My question is, when you launch a .NET application from a UNC path, would it utilize the local .NET (the .NET on the client) or the remote instance of .NET (the .NET on AppServer01)?
It would utilize the local .NET installation if you don't do anything fancy and it's a real application. If you include web components which are run on a server (e.g. ASP.net using IIS) the .NET on the server would be used.
In addition be aware that of course you might reference assemblies that are hosted on the UNC path. So it really depends on how that application was actually programmed.
I'm not sure if there would be other ways to convince .NET to use remote assemblies. It looks like this post Load assembly from network location might have some more insight in how to figure out if remote assembly would be loaded.
Still the actual processing would be done on the local computer using the local installation.