3

我们有一个 EXE 打包的 Electron 应用程序,它需要在 Windows 下以提升的权限 (uiAccess=true) 运行,以防止用户在全屏运行时访问 Windows。

在清单文件中设置uiAccess="true"会导致一个问题:任何loadURL()调用都会被静默忽略,对于本地目录中的 HTML 文件和本地运行的 HTTP 服务器都是如此。

  • uiAccess设置为false通话loadURL()效果很好,适用于任何用户
  • 只有当EXE 由具有管理员权限的用户运行(即使没有“以管理员身份”运行),或者如果它是从具有“以管理员身份运行”选项的普通用户帐户启动时,uiAccess设置为true调用才有效。loadURL()
  • 否则loadURL()不做任何事情,不抛出任何错误

其他一切似乎都正常工作(创建窗口、捕获事件等)

UPD:我添加了日志记录,发现调用后不久BrowserWindow's发出了两个事件:webContentloadURL

"did-stop-loading"
"crashed"

这表明渲染器进程已经崩溃 - 但为什么呢?设置ELECTRON_ENABLE_STACK_DUMPINGELECTRON_ENABLE_LOGGING环境变量true不提供更多信息。

任何想法可能是什么原因,如何解决?

4

0 回答 0