Problem
The packaged Alpha 4 candidate cannot launch a profile from a normal non-administrator Windows session when the detected game is installed under a protected location such as Program Files.
StorageLocationService prefers installation-adjacent workspaces. Workspace preparation then fails before the game process starts when the packaged application cannot create or modify that directory.
Moving the workspace into user-writable storage also exposes two related problems:
HardLinkStrategy rejects cross-volume workspace preparation before reaching its existing copy fallback.
- Existing workspace metadata can reuse a workspace under the previous protected root after storage resolution changes.
- Profile editing and launching must resolve the same workspace root to avoid unnecessary recreation.
This blocks the “A profile can be created and launched” Windows validation item in #307.
Expected behavior
GenHub should create and launch profiles without administrator privileges when the game is installed under Program Files.
Writable installation-adjacent workspaces should remain available for same-volume hard-link efficiency. When that location is unavailable, GenHub should use a writable configured workspace or the application-data workspace directory and copy files when hard links cannot cross volumes.
Scope
This issue covers workspace selection, workspace reuse, and cross-volume workspace preparation.
The installation CAS pool has a separate protected-path problem: acquisition code persists <installation>/.genhub-cas, and the CAS resolver treats a nonempty path as available without checking writability. That requires separate handling for pool resolution, persisted settings, and existing CAS content.
Acceptance criteria
- A packaged Windows build running without administrator privileges falls back from a protected installation-adjacent workspace to user-writable storage.
- Writable installation-adjacent workspaces continue to work.
- A writable configured workspace path is honored.
- Profile editing and launching use the same workspace resolver.
- Hard-link workspaces copy content instead of failing when workspace storage is on another volume.
- A workspace stored under the previous root is recreated under the currently resolved root.
- Filesystem path comparisons respect platform case sensitivity.
- Focused regression tests and the complete Core test suite pass.
- The packaged Alpha 4 candidate can create and launch a profile from a protected Windows installation.
Implementation
Addressed by #346.
Packaged non-administrator Windows validation and CI results are still required before the issue is complete.
Related work
Problem
The packaged Alpha 4 candidate cannot launch a profile from a normal non-administrator Windows session when the detected game is installed under a protected location such as Program Files.
StorageLocationServiceprefers installation-adjacent workspaces. Workspace preparation then fails before the game process starts when the packaged application cannot create or modify that directory.Moving the workspace into user-writable storage also exposes two related problems:
HardLinkStrategyrejects cross-volume workspace preparation before reaching its existing copy fallback.This blocks the “A profile can be created and launched” Windows validation item in #307.
Expected behavior
GenHub should create and launch profiles without administrator privileges when the game is installed under Program Files.
Writable installation-adjacent workspaces should remain available for same-volume hard-link efficiency. When that location is unavailable, GenHub should use a writable configured workspace or the application-data workspace directory and copy files when hard links cannot cross volumes.
Scope
This issue covers workspace selection, workspace reuse, and cross-volume workspace preparation.
The installation CAS pool has a separate protected-path problem: acquisition code persists
<installation>/.genhub-cas, and the CAS resolver treats a nonempty path as available without checking writability. That requires separate handling for pool resolution, persisted settings, and existing CAS content.Acceptance criteria
Implementation
Addressed by #346.
Packaged non-administrator Windows validation and CI results are still required before the issue is complete.
Related work