PackageManager类只能在完整的桌面应用程序中使用 - 它直接从 WinRT 应用程序使用(甚至获取为当前用户安装的应用程序列表)会导致UnauthorizedAccessException
.
我希望通过 Microsoft 在 Windows 8.1 Update 1 中引入的新代理组件,可以绕过这一点并实际使用该类(目前,只能直接从桌面应用程序中使用它)。
令我惊讶的是,它没有用,我只是UnauthorizedAccessException
再次感到恐惧。我认为代理组件应该在任何应用程序容器之外的单独进程中运行,因此,我不应该面临任何限制。我什至尝试执行一个控制台应用程序,以PackageManager
将代理组件作为一个单独的进程来满足我的需求,但这也因同样的异常而失败。
我想不出一种方法来为您提供重现异常的简单代码 - 创建一个代理组件并从 WinRT 应用程序使用它,我遵循了Harry Pierson 的关于代理组件的系列。
有人可以评论为什么会这样吗?