• Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by TMK · Sep 05, 2010 at 04:41 PM · accessmono

Setting folder rights using DirectorySecurity gives 'This platform is not supported' error

Hi,

I'm creating a game which requires shared data between users that can be logged into the users Windows/Mac, e.g. a highscore system.

I'm using this code to set the read/write/execute user rights to the C:\ProgramData\GameFolder\ folder, so that everyone on the system can access the files correctly (if I don't do this, if a limited access user creates the folder, no other user on the computer can access it):

public void SetAccessRights(string folder) { // only do this on Windows if (Application.platform == RuntimePlatform.WindowsPlayer || Application.platform == RuntimePlatform.WindowsEditor) { // create security DirectorySecurity ds = new DirectorySecurity();

     // 'Users' group
     ds.AddAccessRule(new FileSystemAccessRule("S-1-5-32-545", FileSystemRights.FullControl, AccessControlType.Allow));

     // 'Everyone' group
     ds.AddAccessRule(new FileSystemAccessRule("S-1-1-0", FileSystemRights.FullControl, AccessControlType.Allow));

     // set folder with correct user rights
     DirectoryInfo di = new DirectoryInfo(folder);

     di.SetAccessControl(ds);
 }

}

The problem is that on this line:

DirectorySecurity ds = new DirectorySecurity();

Unity gives this exception:

PlatformNotSupportedException: This platform is not supported. System.Security.AccessControl.DirectorySecurity..ctor ()

Is this a Mono problem, or something to do with Unity?

I can't use PlayerPrefs because that is stored in the current user registry, so it doesn't support multi-user environments (i.e. data shared between them).

Or does anyone have any suggestions for alternative ways of handling shared data like this?

Thanks!

Comment
Add comment · Show 2
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image yii7 · Jan 22, 2014 at 04:52 PM 0
Share

Sorry to raise this question after 4 years of no answers but Im having the same problem, I cant seem to use "DirectorySecurity" it gives "PlatformNotSupportedException" . Do we have to use "directory.localFolder" or "Environtment.CurrentDirectory" ? I am able to write a FileStream to a newly created folder but cant read from the same directory, any help ?

avatar image UMSDev yii7 · Jul 29, 2018 at 01:43 PM 0
Share

Hi, sorry to question you 4 years later, but have you found a solution to your issue ?

0 Replies

· Add your reply
  • Sort: 

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Welcome to Unity Answers

The best place to ask and answer questions about development with Unity.

To help users navigate the site we have posted a site navigation guide.

If you are a new user to Unity Answers, check out our FAQ for more information.

Make sure to check out our Knowledge Base for commonly asked Unity questions.

If you are a moderator, see our Moderator Guidelines page.

We are making improvements to UA, see the list of changes.



Follow this Question

Answers Answers and Comments

2 People are following this question.

avatar image avatar image

Related Questions

Error : Problem With SSL CA Cert(Path?accessRights?) 2 Answers

Will installing a newer mono version break Unity's mono installation ? (OSX) 2 Answers

Where is the Mono C# compiler for Unity iPhone? 1 Answer

Standalone windows build giving mono: dll not found error 2 Answers

mono develop error 1 Answer

  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges