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
- Run a Win32 application as LocalSystem.
- Set:
WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS=--allow-run-as-system
- Switch to the WinSta0\Winlogon desktop in Windows Unlock / UAC scenarios.
- Call:
CreateCoreWebView2EnvironmentWithOptions(...)
- Wait for the environment creation callback.
- Call:
CreateCoreWebView2CompositionController(...)
- Observe that the completion callback returns either:
E_ABORT (0x80004004), or
HRESULT_FROM_WIN32(ERROR_TIMEOUT) (0x800705B4),
and no composition controller is created.
- Repeat the same initialization sequence on WinSta0\Default.
- 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
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-systembrowser 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), orHRESULT_FROM_WIN32(ERROR_TIMEOUT) (0x800705B4).No
ICoreWebView2CompositionControllerinstance 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_ABORTorERROR_TIMEOUT, while the same configuration works reliably on WinSta0\Default.We would appreciate clarification on whether initializing
ICoreWebView2CompositionControllerfrom a LocalSystem process on the Winlogon (secure) desktop fails intentionally withallow-run-as-systemflag.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
CreateCoreWebView2EnvironmentWithOptions(...)CreateCoreWebView2CompositionController(...)E_ABORT (0x80004004), orHRESULT_FROM_WIN32(ERROR_TIMEOUT) (0x800705B4),and no composition controller is created.
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