MicrosoftEdge / MicrosoftEdge/WebView2Feedback

[Problem/Bug]: CreateCoreWebView2CompositionController fails under LocalSystem on WinSta0\Winlogon while succeeding on WinSta0\Default

Open
#5,641 2 comments 0 reactions 1 assignee View on GitHub

@ambikakunnath is already working on this.

Since Jul 7, 2026.

bug regression
Dominant language
PowerShell
Stars
526
Forks
67
PR merge metrics
No merged PRs in 30d

Description

What happened?

We are evaluating whether WebView2 can be hosted from a LocalSystem process to render UI on the Windows secure desktop (Winlogon Unlock/UAC scenarios). As part of this evaluation, we are using the experimental --allow-run-as-system browser argument together with windowless composition mode (ICoreWebView2CompositionController + DirectComposition).

The WebView2 environment is created successfully using:

CreateCoreWebView2EnvironmentWithOptions(...)

However, creating the composition controller on the WinSta0\Winlogon desktop fails intermittently.

CreateCoreWebView2CompositionController(...)

returns either:

  • E_ABORT (0x80004004), or
  • HRESULT_FROM_WIN32(ERROR_TIMEOUT) (0x800705B4).

No ICoreWebView2CompositionController instance is created and nothing is rendered.

Using the same application, runtime, LocalSystem account, and initialization sequence on WinSta0\Default consistently succeeds (hr = S_OK) and renders correctly.

During our investigation, we also verified that the behavior is not solely explained by the host process's job-object configuration. Even after allowing process breakaway, composition controller creation on WinSta0\Winlogon still intermittently fails with E_ABORT or ERROR_TIMEOUT, while the same configuration works reliably on WinSta0\Default.

We would appreciate clarification on whether initializing ICoreWebView2CompositionController from a LocalSystem process on the Winlogon (secure) desktop fails intentionally with allow-run-as-system flag.

Importance

Blocking. My app's basic functions are not working due to this issue.

Runtime Channel

Stable release (WebView2 Runtime)

Runtime Version

149.0.4022.98

SDK Version

1.0.3912.50

Framework

Win32

Operating System

Windows 11

OS Version

26200.8655

Repro steps
  1. Run a Win32 application as LocalSystem.
  2. Set:
    WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS=--allow-run-as-system
    
  3. Switch to the WinSta0\Winlogon desktop in Windows Unlock / UAC scenarios.
  4. Call:
    CreateCoreWebView2EnvironmentWithOptions(...)
    
  5. Wait for the environment creation callback.
  6. Call:
    CreateCoreWebView2CompositionController(...)
    
  7. Observe that the completion callback returns either:
    • E_ABORT (0x80004004), or
    • HRESULT_FROM_WIN32(ERROR_TIMEOUT) (0x800705B4),
      and no composition controller is created.
  8. Repeat the same initialization sequence on WinSta0\Default.
  9. Observe that CreateCoreWebView2CompositionController(...) succeeds and the WebView renders successfully.
Repros in Edge Browser

No, issue does not reproduce in the corresponding Edge version

Regression

Regression in newer Runtime

Last working version (if regression)

119.0.2151.44

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.