我们有一个 EXE 打包的 Electron 应用程序,它需要在 Windows 下以提升的权限 (uiAccess=true) 运行,以防止用户在全屏运行时访问 Windows。
在清单文件中设置uiAccess="true"
会导致一个问题:任何loadURL()
调用都会被静默忽略,对于本地目录中的 HTML 文件和本地运行的 HTTP 服务器都是如此。
uiAccess
设置为false
通话loadURL()
效果很好,适用于任何用户- 只有当EXE 由具有管理员权限的用户运行(即使没有“以管理员身份”运行),或者如果它是从具有“以管理员身份运行”选项的普通用户帐户启动时,
uiAccess
设置为true
调用才有效。loadURL()
- 否则
loadURL()
不做任何事情,不抛出任何错误
其他一切似乎都正常工作(创建窗口、捕获事件等)
UPD:我添加了日志记录,发现调用后不久BrowserWindow
's发出了两个事件:webContent
loadURL
"did-stop-loading"
"crashed"
这表明渲染器进程已经崩溃 - 但为什么呢?设置ELECTRON_ENABLE_STACK_DUMPING
和ELECTRON_ENABLE_LOGGING
环境变量true
不提供更多信息。
任何想法可能是什么原因,如何解决?