Skip to content

docs(install.ps1): remove false claim that UWP needs the elevated autostart task - #1659

Merged
f-trycua merged 1 commit into
mainfrom
docs/install-ps1-remove-uwp-claim
May 22, 2026
Merged

docs(install.ps1): remove false claim that UWP needs the elevated autostart task#1659
f-trycua merged 1 commit into
mainfrom
docs/install-ps1-remove-uwp-claim

Conversation

@f-trycua

@f-trycua f-trycua commented May 22, 2026

Copy link
Copy Markdown
Collaborator

Summary

install.ps1's post-install hint was telling users:

Without auto-start, the daemon runs at the user's default token IL.
That's fine for Win32 + Chromium apps. UWP / AppContainer apps
(Calculator, modern Settings, Photos) need the elevated autostart task.

The "UWP needs the elevated autostart task" claim is wrong. Empirical verification during 2026-05-22 Windows dogfood arc:

Account IL Calculator UIA `element_count`
fbonacci (RID 500) at High IL via RunLevel=Highest task High 41
cuademo (regular admin, UAC-split) running cua-driver directly from her PowerShell Medium 41

So UWP / AppContainer UIA works at Medium IL too. The IL gating turned out to be a methodological artifact — earlier 0-element results came from running tests in non-interactive SSH / psexec contexts, which can't drive UIA cross-AppContainer correctly regardless of IL. Live RDP sessions just work at any IL level.

Replacing the hint with the honest reason RunLevel=Highest is useful: elevated operations like registry / services / ACL writes the daemon may need. UWP is not the differentiator.

Follow-ups

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Updated installer messaging to clarify that users must manually run cua-driver serve when auto-start is not enabled, and explained how auto-start allows the daemon to run with elevated privileges at system logon for privileged operations.

Review Change Stack

…ostart task

install.ps1's post-install hint was telling users:

  Without auto-start, the daemon runs at the user's default token IL.
  That's fine for Win32 + Chromium apps. UWP / AppContainer apps
  (Calculator, modern Settings, Photos) need the elevated autostart task.

The "UWP needs the elevated autostart task" claim is **wrong**. Empirical
verification during the 2026-05-22 Windows dogfood arc:

- fbonacci (RID 500 admin) at High IL via RunLevel=Highest task:
    cua-driver call get_window_state for Calculator → element_count: 41
- cuademo (regular admin, UAC-split token) at **Medium IL** running
  cua-driver directly from her interactive PowerShell:
    cua-driver call get_window_state for Calculator → element_count: 41

So UWP / AppContainer UIA works at Medium IL too. The IL / RunLevel
gating was a methodological artifact from earlier tests that ran in
non-interactive SSH / psexec contexts — those contexts can't drive UIA
cross-AppContainer correctly regardless of IL, but live RDP sessions
just work at any IL level.

Replacing the hint with the honest reason RunLevel=Highest is useful:
elevated operations like registry / services / ACL writes that the
daemon may need to do. UWP is not the differentiator.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@vercel

vercel Bot commented May 22, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
docs Ignored Ignored May 22, 2026 11:43pm

Request Review

@f-trycua
f-trycua merged commit e37687c into main May 22, 2026
6 of 7 checks passed
@f-trycua
f-trycua deleted the docs/install-ps1-remove-uwp-claim branch May 22, 2026 23:43
@coderabbitai

coderabbitai Bot commented May 22, 2026

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 2bdf1896-1c3f-47f2-8aa7-bd635777ff12

📥 Commits

Reviewing files that changed from the base of the PR and between 12e8c7a and c9385a7.

📒 Files selected for processing (1)
  • libs/cua-driver/scripts/install.ps1

📝 Walkthrough

Walkthrough

The PowerShell installer script's final user-facing message was revised to provide clearer guidance when the -AutoStart flag is not used. The updated text explains that users must run cua-driver serve manually and clarifies that auto-start mode executes the daemon at logon with elevated RunLevel=Highest privileges needed for registry, services, and ACL operations.

Changes

Installer manual startup messaging

Layer / File(s) Summary
Installer manual startup guidance
libs/cua-driver/scripts/install.ps1
Final console message updated to clarify manual cua-driver serve invocation and explain auto-start's elevated privilege mode (RunLevel=Highest) for protected system operations.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related PRs

  • trycua/cua#1630: Updates installer messaging to align with autostart behavior, directly clarifying the manual cua-driver serve path and RunLevel=Highest rationale in the same flow.
  • trycua/cua#1628: Also modifies install.ps1 end-of-run messaging around -AutoStart guidance, with overlapping focus on the non-autostart code path.
  • trycua/cua#1550: Introduced the cua-driver autostart CLI verb and updated installer messaging to match the new autostart behavior described in this PR.

Poem

A rabbit hops through PowerShell dreams,
Where cua-driver serve now shines,
No -AutoStart means you run it,
While RunLevel=Highest keeps the daemon safe—
Clearer words, clearer paths, 🐰✨

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/install-ps1-remove-uwp-claim

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant