我正在使用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;并启用应用程序体验。
然而,它不起作用。
我不确定该怎么办这个问题。
有人知道任何解决方案吗?
感谢
答案 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)希望这能解决问题:)