要求是能够在Windows 10上运行kiosk应用程序,该应用程序在主机上具有不受限制的功能,可以进行任意系统调用并启动任何类型的应用程序,包括Appx和Win32。自助服务终端应用程序可以完全受信任 - 它可以被认为是一个侧面加载的内部应用程序,用于配备传统键盘和鼠标的机器,以便在公共场所使用。用户不应该绕过或逃离自助终端应用程序。
Assigned access符合一般的想法,除了分配的访问仅适用于不完全信任的Appx(无法访问启动Win32应用程序所需的API等)。这些限制似乎是设计上的,因此这种方法不太可能成功地满足规定的要求。虽然可以将WPF应用程序创建为“完全信任”Appx,但它无法在自助服务终端模式下运行。
使用自定义应用程序(自助服务终端应用程序)替换Windows外壳程序将起作用,除了自助服务终端应用程序需要能够执行的某些任务需要存在资源管理器外壳(例如,启动一个Appx - 需要由探险家外壳。)
如果可能的话,在锁定屏幕上方运行Win32应用程序可能是一种解决方案(我相信这是指定访问对其Appx所做的事情)。
以任何正常方式运行应用程序都需要禁用或拦截许多热键组合,包括[CTRL] [Alt] [Del],这似乎是一个主要问题/挑战。似乎没有办法阻止用户调用任务管理器或以其他方式规避应用程序以获得对系统的不安全/无中介访问。
有没有办法满足我概述的要求?如果是这样,那么该技术和(如果相关)什么API是该方法的核心?
更新
尽管可以安装并选择完全信任转换的WPF AppX以进行分配的访问,但由于发现事件日志中记录了一些问题,它“无法正常工作”,具体为:应用程序和服务日志&gt ;微软> Windows>应用>微软Windows的TWinUI /运营的。观察到的行为是,在用户登录时,会显示一个蓝色屏幕,其中包含熟悉的Windows微调器,它会每秒闪烁一次,就好像正在反复重试某些内容一样。相关的事件日志消息(所有源“Apps”)是:
应用程序LockDownSample_y1sem70fxfdf6的ActivateApplicationForContractByAppIdAsUserWithHost!Windows.Launch合同的LockDownSample失败,此应用程序不支持指定的合同或未安装.. (事件ID:5985)
应用程序LockDownSample_y1sem70fxfdf6!LockDownSample未注册Windows.Launch合约或未安装。(事件ID:5951)
应用程序Microsoft.WindowsMaps_8wekyb3d8bbwe!应用程序未注册Windows.PreInstalledConfigTask合同或未安装。(也是事件ID:5951)
通过应用程序的合同帮助程序激活Microsoft.WindowsMaps_8wekyb3d8bbwe!用于Windows.PreInstalledConfigTask合同的应用程序失败且未注册类。(事件ID:5990)
这是由于故意施加的限制,还是可以解决的问题?
更新2:
发现这个最近的问题: Windows 10 assigned access app fails to start due to not registered for Windows.Launch contract
这相当准确地描述了我对完全信任的自助服务终端应用程序的分配访问权限的体验,最后回答“尚未支持”。