2

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

我目前构建了安装包,然后安装到另一台电脑上来测试程序。

当我通过我的应用程序创建 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

第三,我去了计算机->管理器->服务->并启用应用程序体验。

但是,它不起作用。

我不太确定如何解决这个问题。

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

谢谢

4

1 回答 1

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

顺便说一句,我是从这里得到的:在创建文件夹时授予完全访问权限,以便归功于该人。(Jacques Bronkhorst) 希望这能解决问题:)

于 2015-10-17T01:32:19.377 回答