【发布时间】:2010-04-22 13:25:19
【问题描述】:
我使用 VS 2008 创建了一个桌面应用程序。
当我在本地运行时,一切正常。
我共享了我的输出文件夹(不允许网络用户更改我的文件) 并从我们 Intranet 上的另一台 Vista 计算机上运行我的 exe。
运行共享 exe 时,我在尝试读取文件时收到“System.UnauthorizedAccessException”。
如何授予允许读取文件的权限? 我应该更改代码吗? 我应该授予对 Vista 计算机上的应用程序\文件夹的权限吗?怎么样?
注意事项:
我不使用 ClickOnce。应用程序应使用 xcopy 分发。
我的应用目标框架是“.Net Framework 2.0”
在 Vista 计算机上,“controlPanel | UninstallOrChangePrograms”显示“Microsoft .Net Framework 3.5 SP1”
-
我也尝试映射文件夹驱动器,但得到了同样的错误,只是现在文件名是“T:\my.ocx”
' ---------------------------------- ------------------------------------
' 我的代码:
Dim src As String = mcGlobals.cmcFiles.mcGetFileNameOcx()
将 ioStream 调暗为新 System.IO.FileStream(src, IO.FileMode.Open)' ---------------------------------- ------------------------------------
公共共享函数 mcGetFileNameOcx() As String
' ---------------------------------- ------------------------------------
Dim dirName As String = Application.StartupPath & "\" Dim sFiles() As String = System.IO.Directory.GetFiles(dirName, "*.ocx") Dim i As Integer For i = 0 To UBound(sFiles) Debug.WriteLine(System.IO.Path.GetFullPath(sFiles(i))) ' if found any - return the first: Return System.IO.Path.GetFullPath(sFiles(i)) Next Return "" End Function' ---------------------------------- ------------------------------------
' 我收到的异常:
System.UnauthorizedAccessException: Access to the path '\\computerName\sharedFolderName\my.ocx' is denied. at System.IO._Error(Int32 errorCode, String maybeFullPath) at System.IO.FileStream.Init(...) at System.IO.FileStream..ctor(...) at System.IO.FileStream..ctor(String path, FileMode mode)' ---------------------------------- ------------------------------------
【问题讨论】:
标签: .net windows-vista unauthorizedaccessexcepti