Create directory and apply write permissions to it

I want to create a folder in either My Documents or the Public\Users folders on XP and Vista.

I can create the folder using Directory.CreateDirectory without any problem. However, it defaults to ReadOnly.

I've tried using the DirectorySecurity overload but cannot get it to work.

When I try the AddDirectorySecurity method, I get teh error message "AddDirectorySecurity" is not declared.

If I change to DirectorySecurity (as suggested by Visual Studio) I am told it is " a type and cannot be used as an expression.

Can someone point me in the right direction please?

Many thanks
Imports System
Imports System.IO
Imports System.Security.AccessControl
 
Public Class MyClass
Try
    If Directory.Exists(fullPath.ToString()) = False Then
        Directory.CreateDirectory(fullPath.ToString())
        AddDirectorySecurity(fullPath.ToString()), "DOMAIN\MyUser", FileSystemRights.WriteData, AccessControlType.Allow)
    End If
Catch ex As Exception
 
End Try
...
End Class

Open in new window

LVL 1
jindaleeAsked:
Who is Participating?
 
Anthony408Connect With a Mentor Commented:
Try this code that i found here:

http://www.practicalguy.com/fs-directory-permission-net-cs-vb.aspx

Hope this helps :D

-Anthony
' create directory inforamtion 
        Dim directoryInfo As New DirectoryInfo("c:\temp")
        ' get access control for directory 
        Dim directorySecurity As DirectorySecurity = directoryInfo.GetAccessControl()
        ' add directory permission for specific user account 
        directorySecurity.AddAccessRule(New FileSystemAccessRule("Administrator", FileSystemRights.FullControl, AccessControlType.Allow))
        ' set access control for directory 
        directoryInfo.SetAccessControl(directorySecurity)

Open in new window

0
 
jindaleeAuthor Commented:
Thank you.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.