首页 > 解决方案 > UWP App WPF .Net Core 对依赖没有访问权限

问题描述

我们正在使用 WPF .Net Core 制作一个新应用程序。为了使用自动更新功能,我们决定将其与 MSIX 打包工具一起打包为 VS2019 中的 UWP 应用程序。我能够在 IIS 上托管 appinstaller 文件,并通过 Web 上指向该文件的链接安装应用程序。自动更新也可以正常工作。

现在解决问题:当我运行已安装的应用程序时,它的图标没有显示在任务栏中,但它显示在任务管理器中,使用了大量的 cpu。在进程监视器中,它显示应用程序尝试访问其依赖项(如 PresentationFramework.dll)但不成功,因为结果始终是“文件锁定,只有读者”。DLL 本身存在于 WindowsApps/xxx/ 路径中。我也无法手动启动 EXE,因为我的用户没有权限。我在这里想念什么?

编辑:我现在也意识到我的应用程序只是作为任务管理器中的后台进程启动,而不是作为应用程序启动。当我转到 WindowsApps/xxx/MyApp 下的应用程序目录时,由于没有前面提到的权限,我无法直接启动 EXE。但是当我复制整个文件夹时,我可以启动 EXE,GUI 出现并且应用程序再次成为任务管理器中的应用程序。

标签: wpf.net-coreuwpmsix

解决方案


我们找到了答案。由于 GUI 是 WPF .Net Core 项目,我们使用 Windows 应用程序打包项目进行设置以从中生成 UWP 应用程序,使用的技术似乎是所谓的桌面桥。

在进程监视器中,它似乎尝试访问正确路径下的文件,但只要在 WPF Projects App.xaml.cs 中未正确设置应用程序路径,它就会以某种方式不正确地访问文件。

要解决此问题,请使用Andrew Leader的解决方案


推荐阅读