Its always advisable to install the GAC only by administrator, since he is the right person who can change the DLLs as per the project requirement. But once assemblies are installed in GAC, it can be used by any application since it is shared one.
If I have one assembly on 2 different version, then its possible for me to use one version of the DLL and another application may access the next version of the same DLL. Its all possible with the implementation of tag in web.config file.