- Home /
Installing Unity on a multi-user environment, how to set permissions?
I'm trying to install Unity in the computer labs here at my university. I have system admin access and have successfully pushed a silent install onto each of our labs' desktops. Unity opens up and everything seems to work fine until I try to code a script in Monodevelop. The trouble is how Unity is requiring permissions in our multi-user environment. Here is the error that I'm getting:
UnauthorizedAccessException: Access to the path "\" is denied.
System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean anonymous, FileOptions options) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.IO/FileStream.cs:320)
System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share)
(wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)
System.IO.StreamWriter..ctor (System.String path, Boolean append, System.Text.Encoding encoding, Int32 bufferSize) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.IO/StreamWriter.cs:124)
System.IO.StreamWriter..ctor (System.String path, Boolean append, System.Text.Encoding encoding)
(wrapper remoting-invoke-with-check) System.IO.StreamWriter:.ctor (string,bool,System.Text.Encoding)
System.IO.File.WriteAllText (System.String path, System.String contents, System.Text.Encoding encoding) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.IO/File.cs:626)
System.IO.File.WriteAllText (System.String path, System.String contents) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.IO/File.cs:621)
UnityEditor.VisualStudioIntegration.SolutionSynchronizer.SyncFileIfNotChanged (System.String filename, System.String newContents) (at C:/BuildAgent/work/d63dfc6385190b60/Editor/Mono/VisualStudioIntegration/SolutionSynchronizer.cs:204)
UnityEditor.VisualStudioIntegration.SolutionSynchronizer.SyncSolution (IEnumerable`1 islands) (at C:/BuildAgent/work/d63dfc6385190b60/Editor/Mono/VisualStudioIntegration/SolutionSynchronizer.cs:336)
UnityEditor.VisualStudioIntegration.SolutionSynchronizer.Sync () (at C:/BuildAgent/work/d63dfc6385190b60/Editor/Mono/VisualStudioIntegration/SolutionSynchronizer.cs:172)
UnityEditor.SyncVS.CreateIfDoesntExist () (at C:/BuildAgent/work/d63dfc6385190b60/Editor/Mono/SyncProject.cs:107)
UnityEditor.DockArea:OnGUI()
Running Unity as an administrator is not an option. Since this install is for a multi-user environment, I don't want Unity allowing my users to poke around where they shouldn't. What really I find odd, is that from the error it appears that Unity is trying to access the "\" path, which frankly doesn't exist on my system.
So my question is, how do I go about setting up permissions/preferences to grant Unity access to exactly what it needs without indirectly giving my users the keys to the whole system?