Visual Basic .NET拒绝访问路径“C:\”

时间:2013-08-22 20:54:24

标签: vb.net visual-studio-2012 access-denied permission-denied

我正在使用Visual Studio 2012和Visual Basic .NET来构建应用程序(使用Windows 7)

我目前正在构建安装包,然后安装到另一台PC来测试程序。

当我通过我的应用创建txt文件时,我得到“访问路径'C:\'被拒绝”错误

我知道我正在使用子帐户来运行我的应用程序。

如果我以管理员身份运行,它运行正常。但是,程序应该能够在不使用管理员帐户的情况下运行应用程序。

到目前为止,我试图解决这个问题。

首先,我在“程序文件夹”中更改位置以写入文件,例如“C:\ Program file \ My App”

然而,它没有用

第二次,我试图改变

 <requestedExecutionLevel  level="asInvoker" uiAccess="false" />

 <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />

在app.config

然而,在我更换为“requireAdministrator”后,我正在编译错误

ClickOnce does not support the request execution level 'requireAdministrator'.  WindowsApplication2

第三次,我去了Computer-&gt; manager-&gt; service-&gt;并启用应用程序体验。

然而,它不起作用。

我不确定该怎么办这个问题。

有人知道任何解决方案吗?

感谢

1 个答案:

答案 0 :(得分:2)

Dim UserAccount As String = "<user here>" 'Specify the user here
Dim FolderInfo As IO.DirectoryInfo = New IO.DirectoryInfo("path")
Dim FolderAcl As New DirectorySecurity
FolderAcl.AddAccessRule(New FileSystemAccessRule(UserAccount, FileSystemRights.Modify, InheritanceFlags.ContainerInherit Or InheritanceFlags.ObjectInherit, PropagationFlags.None, AccessControlType.Allow))
FolderAcl.SetAccessRuleProtection(False, False)
FolderInfo.SetAccessControl(FolderAcl)

请注意,您必须添加:Imports.System.Security.AccessControl

顺便说一句,我从这里得到了它:Give folder full access when created所以归功于那个人。 (Jacques Bronkhorst)希望这能解决问题:)