注释
:我已经看过了
this
相关问题,这是
不
复制品
我正在开发一个UWP应用程序,它也使用桌面网桥(该应用程序包包含UWP应用程序和WinForms组件),我正在尝试添加自动启动功能,但目前还没有成功。
我是这样做的:
-
一些研究。看着
这
前面提到的问题,
this blog post from MS
以及在
official docs
也。
-
通过编辑
Package.appxmanifest
添加文件
uap5
命名空间,然后
uap5:Extension
节点,在
Executable
财产,以及
Windows.FullTrustApplication
在
EntryPoint
财产。
-
奖金
为了以防万一,我还试图替换
UAP5
命名空间与
desktop
,因为一些代码示例使用了该示例。同样的结果,这个应用程序根本不会启动。
-
包括获取启动任务并请求进行设置的API。
-
部署了应用程序,继续使用这些API,获得确认窗口并点击“允许”。
-
打开托管任务,再次检查“启动”选项卡下是否存在应用程序名称,旁边是否正确显示了“已启用”标签。
-
注销并重新登录
此时,除了在登录后半秒钟内显示加载环的鼠标指针外,什么都没有发生。打开Windows事件查看器,发现一个错误,表明应用程序自动启动失败。再次尝试了几次,每次应用程序没有启动时,都会在事件查看器中弹出另一个相同的错误。这是错误信息:
Application name: <my app>.exe, versione: 1.0.0.0, timestamp: 0x5a68410c
Module: KERNELBASE.dll, versione: 10.0.17134.407, timestamp: 0x99042cc0
Exception code: 0xe0434352
Offset: 0x000000000003a388
Process ID: 0x1c4c
Path: C:\Users\<my username>\Documents\GitHub\<my app>\<my app>.Package\bin\x64\Debug\AppX\<my app>.exe
Module path: C:\Windows\System32\KERNELBASE.dll
[...]
我不确定我在这里做错了什么,我已经一步一步地跟踪文档,我确实看到了任务管理器中列出的应用程序,但它无法以这种方式启动。
如有任何帮助,请提前感谢!γ射线
编辑
:问题似乎与桌面网桥功能有关。我有一个uwp应用程序和一个打包项目,我已经将启动任务添加到
.appxmanifest
文件(具有不同的ID)。我这样做是因为我使用打包项目来创建x86/x64版本,而UWP项目直接用于ARM/ARM64版本。
如果我只部署uwp应用程序(独立的,没有包),并启用启动任务,应用程序运行良好。但是,如果部署打包项目并启用该启动任务,则启动失败。在这两种情况下,我都会在任务管理器中看到启动任务。如前所述,当打包项目的启动任务失败时,我会在事件查看器中看到这些错误。
编辑2
:使用桌面网桥应用程序进行了更多测试。似乎在它无法启动之后,Windows事件记录器会在每次尝试中多收到两个错误。一个是前面提到的“应用程序错误”类别中的错误,另一个是“AppModel运行时”类别中的错误,信息如下:
无法修改用户包的AppModel运行时状态(当前状态=0x0,所需状态=0x20)。
编辑第3页
按要求,这是
.appxmanifest
file
对于包装项目。注意,正如前面提到的,我尝试使用
桌面
命名空间以及更新的
UAP5
命名空间。同样,在这两种情况下,我都可以检索任务并提示用户启用它,我确实在任务管理器中看到了它,但是应用程序仍然无法以通常的错误开始。