Skip to content

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

Description

@vevebor

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

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingregressionSomething used to work but doesn't anymore

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions