Surface Hub上Desktop Bridge/UWP能否实现登录启动与设置持久化?
针对Surface Hub的Desktop Bridge应用迁移问题解答
1. 登录自动启动问题
UWP/Desktop Bridge应用可以在Surface Hub用户登录时自动运行,但不能使用普通的用户级启动机制——这也是你测试TestStartup应用失效的核心原因:Surface Hub作为多用户协作设备,会在用户会话结束后重置用户级启动项,导致启动状态被自动设为Disabled。
正确的实现方式是使用设备范围启动:
- 确保你的Desktop Bridge应用在
Package.appxmanifest中声明了runFullTrust能力。 - 注册启动任务时,需指定设备级范围而非用户级。可通过PowerShell命令完成配置:
Set-StartupTask -TaskName "你的启动任务名称" -Enabled $true -Device - 这种绑定到设备的启动任务,不会随用户会话结束被重置,用户登录时应用会自动触发运行。
2. 设置持久化问题
默认情况下,UWP/Desktop Bridge应用的ApplicationData.LocalSettings是用户隔离的,无法跨Surface Hub的不同用户会话保留设置。要实现跨会话的设置持久化,需使用设备级存储方案:
- 利用
%ProgramData%目录:这是系统级共享存储目录,所有用户会话均可访问。你的应用可通过StorageFolder.GetFolderFromPathAsync方法访问该目录下的自定义文件夹,将设置以文件形式存储(需确保应用配置了对应的读写权限)。 - 使用注册表机器项(
HKLM):若采用注册表存储设置,需写入HKLM\Software下的自定义路径,而非用户级的HKCU。同样需要应用声明runFullTrust能力以获取访问权限。
内容的提问来源于stack exchange,提问作者Hryhorii
相关产品推荐
相关产品推荐

