File Permissions - Can't Access Documents Folder From .net In Windows 7?
Jan 17, 2011
I've been struggling with this problem in VB.net for a while: whenever I try to access the My Documents, My video's or simular in Windows 7, I get an access denied error. The program that uses this code is a file-backup application, so it's important it can access everything. The app has admin rights, using this line:requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
To confirm, I also get a nice UAC popup when starting.The app accesses the files twice. Once to calculate the file size, and once to actually copy the files. Here is the file-size calculation code (that I found online:) Function GetFolderSize(ByVal DirPath As String, ByVal includeSubFolders As Boolean) As Long
If I don't grant write permissions to the folder containing my exe file, I get an 'Access to the path binReleaseprogram.exe' is denied. But if I grant it write permission I don't get the error. Why would the executable need write permissions? I'm not writing anything to the root where it resides.
If I adjust permissions using the Security.Accesscontrol.DirectorySecurity on a directory, how can I make it so that subfolders automatically inherit the new permissions?
Brief overview of the situation is that my neighbors can't connect their Vista laptop to a shared folder on their computer running XP Home. They're getting access errors which I believe is because of the rights set on the folder. The problem is that XP Home won't let you adjust that and they're not upgrading.
I'm able to add the Everyone user to the directory I specify. But if I drag a new folder in or create a new folder, it does not have the Everyone user. Is there something I'm missing in this class that will let subfolders and files inherit the permissions?
I would like to read the NT Security (Read, Write, List, Inherited, blah blah blah) permissions from a file. I already have some code, and can get the names and SIDs, but cant seem to figure out the actual access bits.
I would like to read the NT Security (Read, Write, List, Inherited, blah blah blah) permissions from a file. I already have some code, and can get the names and SIDs, but can�t seem to figure out the actual access bits. I have found how to SET them, but not read.
Here is what I have so far:
Code: Imports System Imports System.IO Imports System.Security
I have programs written in VB2005 accessing mdb database in server. When the server run XP, it was never a problem (at the time, the folder was shared to all). There is a new rule in the company and we have Win 2003 server, and my mdb file must be stored in a folder in the server that the administrator (not I) have installed password. And clients are supposed to access it as user only. I can ask password as administrator, but the users of my program must not have the administrator password (which I can included in my program if necessary). How can I modify my program so that it can access the database? I assume I must modify my connection string, but I do not know how. I am currently using this:
I have a context menu strip, and I need a way to add some kind of file to a folder in my documents. My program will get all the files in that folder then allow the user to pick one of the files. When a file is picked, the file changes the context menu strip completely. I can't figure out how to do this. I figured it could be done with a class library but I guess not. Any help would be great. And some extra info. I need to be able to externally code the file so that when a button in the context menu strip is pressed it does whatever the files tells it to do. How can these things be done?
i am working on an application called logonscreenchangerxp i made my program and when i run it on xp virtualmachine i get errors the program is made using vb 2008 and using .net framework 2.0 i am not able to get full permissions to modify boot.ini file and a regisrty value and to delete a file
My software uses a Microsoft Access .mdb file and text files for data storage. The program works great when debugging but when I install the program with Windows installer, the program gives as exception message that access is denied to read the mdb and the text files. What should I do?
I am using net 2010 net framework 2 & w7 In windows explorer I want to move or rename a file but I get a windows message with a heading "File Access Denied" you need administrator permission to do this In my vb code I want to move the same file but get an error, the security on the file is "Read & execute" and "Read" How do I detect this before the code for moving & also set the permissions so I can move it with vb code.
Below is the part code I currently use to write to a file, Try Using sWriter As New IO.StreamWriter("C:Tmp.txt", False) sWriter.Write(m_Buffer.ToString) : sWriter.Flush() End Using Return True Catch ex As IOException End Try
But some time this results in error Access to the path 'C:Tmp.txt' is denied
My question is, Is there a safe way of detecting File access permissions, without handling exceptions, I mean if I can some how check before opening a file for any filehandle opened for it.
After I run the setup to install the program, I will use the program to capture image and answer a survey.Having said that, I have a folder contains image of image capture and database using Ms Access 2007 in my program . Is it possible to make it both in one zip folder (Embedded both together in one folder and locate it in desktop?
I created a Project, now i wanna publish it. I should copy a folder from the CD on C:ProgramsTest .... Now my problem, how can i put the permission on it:
For all Folders and Subfolders should be: Group: User Permission:
I have a small application that creates users in the AD. It adds the users fine, and creates them a home directory. My problem is with granting the user permission to the home directory and is two foldFirstly the code detailed below adds the user to the folder, but because the account is newly created it displays as the SID rather than the name, not such a big deal, but sometimes the code fails as the replication has not caught up and the user isnt found. I beleive the answer here is to use the SID rather than the users name to add permissions, however I am not sure how to retrieve and store this when the account is created using directory services. Secondly and more frustrating is that once the user is added to the folder ACL their permissions are all blank.
Try Dim Dinfo As New DirectoryInfo(Directory) Dim DS As DirectorySecurity = New DirectorySecurity() Dim Rights As FileSystemRightsFileSystemRights = FileSystemRights.Modify
I found how to create a share in C# using the ManagementClass to create an object to reference the Win32_Share class and the ManagementBaseObject class to access the members of the Win32_Share class.My problem is that I want the "Everyone" permissions to default to Read only.When I set the share via Windows Explorer it works fine but the code in my C# application is allowing Full Control and Change permissions along with Read permission.I tried using the DirectorySecurity class but that blows away the Security permissions (under the Security tab)without affecting any Share permissions of the Everyone group (under the Share tab).I don't want to change the Security permissions, I want to change only the Share permission (you know, the permissions that appear when you hit the Permissions button on the Share tab).
I have created a Windows service in VS 2005 that monitors a folder for XML files, reads some data elements from the XML using XmlDocument, then copies the files to another location. I find that when I drop 2 or more XML files into the folder simultaneously, it processes them with no problems, but when I drop the same files into the folder one at a time, I will get an error on the second file: "The process cannot access the file <my file> because it is being used by another process." If I stop my service, restart it, and drop the second file into the folder again, it works the second time. I am confident that no other program is accessing this file at the same time as my service. My impression is that the processing of file # 1 is somehow not releasing all of the resources, leading to the processing of file # 2 mistakenly thinking that it can't access that second file.
Dim FileWatcher As New FileSystemWatcher() It points the watcher to my folder, sets up an event handler, then enables the watching: FileWatcher.Path = InputFolderPath
I am trying to work on a service where I need to export a report into a folder under the service project and email it to the user. The delete the report when complete. The issue I am having is I need to know how to access a folder under the project. I know you can use System.AppDomain.CurrentDomain.BaseDirectory to get into the bin where the excuting file is but I want to get to a folder is this possible? If not is there a way of creating the folder under the bin directory and accessing it. I can manually create a folder under the bin but didnt really want to do that.
I have an app written on an xp pc which I want users to run on Vista
The app needs to delete a file on a portable drive in a particular folder
This folder was created on the xp machine and copied to the portable drive
The app will not delete a file in this folder on Vista but it will on xp
When I check folder security on vista (which does not exist on xp) I find that the folder does not have full control assigned
my app will write a file to that folder & delete it but will not delete a file put there from the xp pc
If I change the security in vista to full control it works
what I want to do is see if the folder has full control when the user selects it and advise them they need to alter security as I can not do it in the program
basically I want to advise them the moment they select the folder, not when it fails to delete the file after entering misc details in the app which are reuired before the file is deleted.
I am creating a project that makes use of a folder, at the moment that folder is located in My documents, how would I change this to be default as in the bin debug folder. Dim QCRoot As String = My.Computer.FileSystem.SpecialDirectories.MyDocuments + "Database Files"
here is the poblem after installing the program only users can only use the program if they are logged as admin can use the progam. like writing to the database. i either need to find out how to change the users to have write access during install or great a dll and add it to the install and as the program starts it checks the file and folder access of the users. if the access does not have write enabled then it runs the dll to fix it. not having any code posted i really do not have any idea how to do this. oh yes the short verision is if the program is install as an administritor only a user that have administritor access can write to the database.
I have a web application using VB ASP.NET 3.5 that along with many things allows users to upload documents into a directory on the web server. I would like to know how I can zip a folder on a webserver and download it to the client machine via a submit button.Currently, I have the files displayed as URLs so that the users can right-click and "Save Target As." But I think just having everything zipped in one file would make it alot easier for the users.
I use the following code in order to check if certin user exists in the DACL:
Dim l_managemantObject As ManagementBaseObject() = CType(securityDescriptor.Properties("DACL").Value, ManagementBaseObject()) For Each mObject As ManagementBaseObject In l_managemantObject l_name = CType(mObject.GetPropertyValue("Trustee"), ManagementBaseObject).Properties("Name").Value.ToString If CType(mObject.GetPropertyValue("Trustee"), ManagementBaseObject).Properties("Domain").Value IsNot Nothing Then
import a documents path into a database and from a datagrid, when I double click on the relevant row it opens the relevant document.Also I need to be able to import the folder name as well?
I have a link on a VB.net aspx page that needs to open a folder in a subdirectory of a web site and provide read and write permissions so that files can be copied into and read from as well as deleted. ONLY from this folder.I have this funtionality working on a dev and demo PC but they are both on my domain. Clicking the link opens Windows Explorer and I can copy /cut & Paste, etc.The public/production PC is on the LAN, but not part of the domain. I know there are ways to allow folder read/write permissions on a public server like this but I am not too sure on the safest way to do this. The upside, the only users that need to have read/write/delete access are employees. Forms Authentication, ASP Membership directs non-employees to other pages within the site. Likewise, the membership directs employees to an admin section of the site.
i am working on my search button that searches for the items in my listbox1. however, i have several problems.. one, is that i do not know how am i supposed to search in folder browsing dialog and two, i cannot search for the items inside my listbox1.
For Each foundFile As String In My.Computer.FileSystem.GetFiles(My.Computer.FileSystem.SpecialDirectories _MyDocuments, FileIO.SearchOption.SearchAllSubDirectories) --> Note 1
[code]...
note 1: i want to change the directory to a folder browse dialog not in my documents only
note 2: this are the items in the listbox that i am searching for
note 3: if found, the paths of the items will be displayed in this listbox
note 4: if it is not found, it will be displayed here
What used to be C:Documents and SettingsAll UsersApplication Data is now Win7 as C:UsersPublicPublic Documents or similar..This folder is not part of the Environment.SpecialFolders list. Is there another way to expose the above Public folder?I'm hoping you can programatically use that location for non virtualized read/write/alluser files.
I have a quick question. One of the functions in the program I am writing is to take all of the data entered, compile it into an HTML document, then place that document into a folder.For the past few days, I have just been using a random folder on one of my hard drives to dump the file in, but the problem is that, in my code, I have supplied the folder location as a string ("E:Practice FilesDocuments"), and therein lies the problem. Trying to test my program on a separate system brought the bug to my attention; obviously, this program can only write this file to a location of E:Practice FilesDocuments, and if any other computer that runs this program doesn't have E:Practice FilesDocuments then there is going to be a problem in the program working the way I have intended
So what I would like to do is instead of having it write the file to "E:Practice FilesDocuments," have it write to the default My Documents folder so that the program is no longer specific to my machine only. The problem is, though, I have no clue what the right code is to use. I first tried using
System.Reflection.Assembly.GetExecutingAssembly().Location to write the file to the default installation directory. This would have worked, but since this is a VB.NET program, the default installation directory isn't in Program Files and doesn't seem to be meant for users to browse through for their documents, plus it seems that trying to write back to this directory causes some unhanded exceptions and whatnot. I figured it would just be easier to create a folder in My Documents rather than use the install directory (and probably smarter).