M
Mike Hofer
Hi folks,
In my Windows Forms application, the following exception is thrown when
I attempt to delete or access a specific file:
System.UnauthorizedAccessException: Access to the path 'C:\Documents
and Settings\hofer\My Documents\Visual Studio
Projects\CiviGenics.Roswell\bin\Roswell Settings.xml' is denied.
at System.IO.__Error.WinIOError(Int32 errorCode, String
maybeFullPath)
at System.IO.File.Delete(String path)
at Civigenics.Roswell.Settings.SaveSettings() in C:\Documents and
Settings\hofer\My Documents\Visual Studio
Projects\CiviGenics.Roswell\Classes\General\Settings.vb:line 324
The code in question follows:
<PermissionSet(SecurityAction.LinkDemand, name:="FullTrust")> _
Private Shared Sub SaveSettings()
Dim tw As XmlTextWriter
Dim filePath As String
Dim xml As String
Try
If m_settingsFile IsNot Nothing Then
xml = m_settingsFile.InnerXml
m_settingsFile = Nothing
End If
filePath = GetSettingsFileName()
If File.Exists(filePath) Then
File.Delete(filePath)
End If
tw = New XmlTextWriter(filePath, Nothing)
m_settingsFile = New XmlDocument()
m_settingsFile.InnerText = xml
m_settingsFile.WriteTo(tw)
Catch ex As Exception
Debug.WriteLine(ex.ToString())
Stop
Finally
If tw IsNot Nothing Then
tw.Flush()
tw.Close()
End If
End Try
' Setting m_settingsFile to Nothing forces a reload on the
next access.
m_settingsFile = Nothing
End Sub
It breaks on the line, File.Delete(filePath). The application is trying
to work with an .XML located file in my application's folder. For some
reason, any time I try to delete or write to it,
UnauthorizedAccessException is thrown. The file is not marked
read-only. The application is running as me, and I have administrative
privileges on the machine.
I need to be able to rewrite this file whenever the user modifies my
application's settings via the Options dialog. (The data I want to
store is not easily stored in My.Settings -- it's heirarchical in
nature.)
Thanks in advance,
Mike
In my Windows Forms application, the following exception is thrown when
I attempt to delete or access a specific file:
System.UnauthorizedAccessException: Access to the path 'C:\Documents
and Settings\hofer\My Documents\Visual Studio
Projects\CiviGenics.Roswell\bin\Roswell Settings.xml' is denied.
at System.IO.__Error.WinIOError(Int32 errorCode, String
maybeFullPath)
at System.IO.File.Delete(String path)
at Civigenics.Roswell.Settings.SaveSettings() in C:\Documents and
Settings\hofer\My Documents\Visual Studio
Projects\CiviGenics.Roswell\Classes\General\Settings.vb:line 324
The code in question follows:
<PermissionSet(SecurityAction.LinkDemand, name:="FullTrust")> _
Private Shared Sub SaveSettings()
Dim tw As XmlTextWriter
Dim filePath As String
Dim xml As String
Try
If m_settingsFile IsNot Nothing Then
xml = m_settingsFile.InnerXml
m_settingsFile = Nothing
End If
filePath = GetSettingsFileName()
If File.Exists(filePath) Then
File.Delete(filePath)
End If
tw = New XmlTextWriter(filePath, Nothing)
m_settingsFile = New XmlDocument()
m_settingsFile.InnerText = xml
m_settingsFile.WriteTo(tw)
Catch ex As Exception
Debug.WriteLine(ex.ToString())
Stop
Finally
If tw IsNot Nothing Then
tw.Flush()
tw.Close()
End If
End Try
' Setting m_settingsFile to Nothing forces a reload on the
next access.
m_settingsFile = Nothing
End Sub
It breaks on the line, File.Delete(filePath). The application is trying
to work with an .XML located file in my application's folder. For some
reason, any time I try to delete or write to it,
UnauthorizedAccessException is thrown. The file is not marked
read-only. The application is running as me, and I have administrative
privileges on the machine.
I need to be able to rewrite this file whenever the user modifies my
application's settings via the Options dialog. (The data I want to
store is not easily stored in My.Settings -- it's heirarchical in
nature.)
Thanks in advance,
Mike