Problem Statement & Context
GenHub currently installs by default to the user profile directory (%LOCALAPPDATA%\GenHub on Windows and ~/.local/share/GenHub on Linux) via Velopack's one-click setup.
Many players have limited storage capacity on their primary system partition (C: drive) and prefer to install games, mod organizers, and content launchers on secondary high-capacity drives (e.g. D:\Games\GenHub\).
Currently:
- First-Install Limitation: While Velopack supports the
--installto <path> CLI parameter (e.g. GenHub-Setup.exe --installto "D:\Games\GenHub"), this is neither documented for end-users nor surfaced in standard installation instructions.
- Post-Install Migration: Once GenHub is installed to the default C: drive, there is no built-in option or UI workflow in GenHub to migrate the application and its installation directory to a different drive/folder without manual uninstall/reinstall and reconfiguring content/CAS locations.
User Stories & Use Cases
- UC-1 (First Install Custom Location): As a user with a small C: drive SSD, I want to install GenHub to a custom drive/directory (via installer parameter or guided setup) so that the application binaries and updates do not consume space on my primary OS partition.
- UC-2 (Post-Install Migration): As an existing GenHub user, I want a settings option to safely migrate my current GenHub installation to a different drive/folder without losing my game profiles, CAS pool, settings, or desktop shortcuts.
- UC-3 (Update Compatibility): When GenHub is installed in or migrated to a custom directory, subsequent automatic updates via
VelopackUpdateManager must continue updating within the custom directory instead of falling back to %LOCALAPPDATA%\GenHub\.
- UC-4 (Shortcut & URI Scheme Re-registration): After migrating the installation directory, all Start Menu, Desktop shortcuts, and
genhub:// protocol handlers should be updated to point to the new executable path.
Proposed Technical Scope
1. Documentation & Installer Support
- Document the
--installto <path> command-line argument in docs/velopack-integration.md and release download notes.
- Verify Velopack installer behavior when custom target paths are provided on Windows and Linux.
2. In-App Migration Workflow (Settings > Storage / General)
- Add a "Migrate Installation Location" action in Settings.
- Workflow:
- User selects target folder via directory picker dialog.
- Perform pre-flight checks (disk space validation, write permissions, ensuring no game instances or locking processes are active).
- Invoke migration routine that stages files, moves application packages and binaries, and updates shortcut / URI scheme registrations.
- Relaunch GenHub from the new directory.
3. Integrated CAS Pool & Workspace Storage Prompt
- When relocating the application directory, offer the user an option to also relocate the local CAS pool and workspace directory to the new target drive to free up the C: drive.
Acceptance Criteria
Problem Statement & Context
GenHub currently installs by default to the user profile directory (
%LOCALAPPDATA%\GenHubon Windows and~/.local/share/GenHubon Linux) via Velopack's one-click setup.Many players have limited storage capacity on their primary system partition (C: drive) and prefer to install games, mod organizers, and content launchers on secondary high-capacity drives (e.g.
D:\Games\GenHub\).Currently:
--installto <path>CLI parameter (e.g.GenHub-Setup.exe --installto "D:\Games\GenHub"), this is neither documented for end-users nor surfaced in standard installation instructions.User Stories & Use Cases
VelopackUpdateManagermust continue updating within the custom directory instead of falling back to%LOCALAPPDATA%\GenHub\.genhub://protocol handlers should be updated to point to the new executable path.Proposed Technical Scope
1. Documentation & Installer Support
--installto <path>command-line argument indocs/velopack-integration.mdand release download notes.2. In-App Migration Workflow (Settings > Storage / General)
3. Integrated CAS Pool & Workspace Storage Prompt
Acceptance Criteria
--installtoargument in user and developer documentation (docs/velopack-integration.md).VelopackUpdateManagerupdate cycle functions seamlessly in custom install directories.genhub://URI scheme handler are updated upon migration.