Skip to content

installer maintenance mode, AppData install option, and CI improvements#1697

Open
affectioned wants to merge 13 commits into
vrcx-team:masterfrom
affectioned:master
Open

installer maintenance mode, AppData install option, and CI improvements#1697
affectioned wants to merge 13 commits into
vrcx-team:masterfrom
affectioned:master

Conversation

@affectioned

Copy link
Copy Markdown
Contributor

Installer Overhaul

Maintenance mode (existing installs)

When VRCX is already installed, the installer now opens a maintenance page instead of proceeding blindly. From here you can update in-place, relocate the installation, or uninstall.

Auto-updates triggered from within VRCX pass /UPDATE to skip this page entirely.


Location picker (fresh installs)

New installs now prompt for an install location upfront:

  • AppData — no UAC prompt required
  • Program Files — UAC is only invoked when actually needed

Relocating to the same location you're already on is blocked with an explanatory message.


Uninstaller: optional user data removal

The uninstaller now includes an optional step to delete %APPDATA%\VRCX. To prevent accidents, this requires a two-step confirmation before anything is removed.


UX fix: deferred process kill prompt

The prompt to kill a running VRCX process is now shown after the user has chosen an action, rather than immediately on launch.


CI Workflow Improvements

The monolithic build workflow has been split into separate per-platform workflows (Windows, Linux, macOS) for faster, isolated testing. x64 and arm64 dotnet builds now run in parallel via matrix jobs. All GitHub Actions have been updated to their latest versions.

Screenshot 2026-03-18 180313

Before — one large combined workflow:

After — split, parallelized workflows:

Installer will ask for location and depending on future/current install location elevate UAC or not.
 Adds a maintenance mode page to the installer shown when VRCX is already
  installed, offering three options: Update (in-place upgrade), Change
  Location (move between AppData and Program Files), and Uninstall (launches
  the uninstaller directly).

 CI is optimized by splitting the monolithic build_node job into separate
  build_cef_html and build_electron_html jobs with no dotnet dependency,
  reducing the critical path from:
    set_version → build_dotnet_linux → build_node → build_dotnet_windows
  to:
    set_version → build_cef_html → build_dotnet_windows
  build_dotnet_linux and build_dotnet_macos are converted to matrix jobs so
  x64 and arm64 compile in parallel. build_macos now downloads the shared
  Electron-html artifact instead of building it twice. Opts into Node.js 24
add build windows workflow so we can test installer changes on windows easily without waiting for multi release build, it is manually triggered action
rename workflow name
rename main VRCX workflow to a better name
Update when installer asks/forces user to kill running vrcx instance.
add a check to reinstall vrcx to the same location when change option is selected
reduced amount of code and simplified the installer page, add a compatibility check for old VRCX installs,
add CLAUDE.md technical documentation (even tho AI agents were used before, someone didn't bother to make it easier for anyone else to use, also there was no technical documentation of the codebase to begin with)
@affectioned

Copy link
Copy Markdown
Contributor Author

I have resolved conflicts, also updated installer.nsi quite a while ago to be less code and complicated and more about the AppData migration.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants