【问题标题】:UWP Restricted Capability not working for broadFileSystemAccessUWP 受限功能不适用于广泛的文件系统访问
【发布时间】:2019-12-11 12:11:43
【问题描述】:

我正在尝试使用 UWP 应用访问某些文件和目录,对于我的特定场景,本地用户应该可以访问这些应用。它不起作用,所以我只在一般用户级目录和子目录上测试了 API,效果与 E_ACCESSDENIED 相同。

我按照这里的说明进行操作:https://docs.microsoft.com/en-us/windows/uwp/packaging/app-capability-declarations#restricted-capabilities

  1. xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities" 添加到Package
  2. rescap 添加到可忽略的命名空间(我也尝试过这个 btw)
  3. <rescap:Capability Name="broadFileSystemAccess" /> 添加到Capabilities 部分

这是清单要点的链接。它只是在 VS2017 中创建的一个新的默认通用应用程序:https://gist.github.com/the-nose-knows/01621d68b7b6a92067780dc69cdf9ded

这是 CSProj 要点的链接:https://gist.github.com/the-nose-knows/c95db9fc89e71f38969da9af6203d3a8

示例项目中的主页只是一个新方法和对其的调用:

public MainPage()
{
    this.InitializeComponent();
    GetUserFolder();
}

public async void GetUserFolder()
{
    var get = 
      await Windows.Storage.StorageFolder.GetFolderFromPathAsync("C:\\Users\\user name");
}

例如,这也行不通:

var get = 
await Windows.Storage.StorageFolder.GetFolderFromPathAsync("C:\\Users\\user name\\New Folder");

我做错了什么?

【问题讨论】:

  • 我无法复制该问题。如果我添加该功能,代码将按预期工作。您是否检查了项目的最低/目标版本?如果这些版本太低,则可能是原因。
  • @MehrzadChehraz 我也更新了它以共享项目文件。据我所知,我应该可以将它与目标版本一起使用。
  • 确定一下,您是在开发桌面桥项目还是 UWP 项目?
  • 打开“设置”应用并转到隐私->文件系统。确保您的应用的文件访问权限已开启。

标签: c# uwp


【解决方案1】:

感谢@Stefan Wick MSFT提供指导。

对我来说,问题实际上不在代码中。它必须执行受限功能如何与操作系统权限一起工作。可能有一种方法可以帮助使用 PowerShell 自动执行此步骤,但我不知道。

不同于将另一个Restricted CapabilityApp Close Confirmation<rescap:Capability Name="confirmAppClose" />添加到包清单中,您必须对实际操作进行调整系统设置使其生效。我确定这已记录在某处,但目前并没有明显地警告您,更不用说告诉您如何修复它了。它特别警告,

由于用户可以随时在设置中授予或拒绝该权限,因此您应确保您的应用能够适应这些更改。在 2018 年 4 月的更新中,权限的默认值为开启。在 2018 年 10 月更新中,默认为关闭

为了促进这些变化,

启用Settings -> Privacy -> File system -> Allow apps to access your file system

然后找到你安装后的应用,勾选允许通过Settings->Privacy->File system->Choose which apps can access your file system访问文件系统,如下图。

【讨论】:

    猜你喜欢
    • 2018-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多