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
    If Directory.Exists(fullPath.ToString()) = False Then
        AddDirectorySecurity(fullPath.ToString()), "DOMAIN\MyUser", FileSystemRights.WriteData, AccessControlType.Allow)
    End If
Catch ex As Exception
End Try
End Class

Open in new window

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

Hope this helps :D

' 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 

Open in new window

jindaleeAuthor Commented:
Thank you.
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.