Skip to content

fix(installer): preserve unrelated root files and remove duplicate app entry - #380

Merged
Alban1911 merged 1 commit into
Alban1911:mainfrom
Lng999:fix/installer-root-safety-20261020
Oct 20, 2026
Merged

Alban1911 merged 1 commit into
Alban1911:mainfrom
Lng999:fix/installer-root-safety-20261020

Conversation

@Lng999

@Lng999 Lng999 commented Oct 20, 2026

Copy link
Copy Markdown
Contributor

Choosing an existing shared folder (for example D:\Games) as Rose's installation directory previously caused uninstall to recursively delete everything in that folder. Remove the install root only when empty; retain Inno's tracked-file removal and the existing explicit application-subdirectory, startup-task, and IFEO cleanup.

Let Inno maintain the single AppId-based Installed Apps entry instead of writing an additional Uninstall\Rose entry. On install/uninstall, remove the legacy duplicate only when its recorded installation directory, display name, and publisher match this installation. Entries for a different location or owner are left intact.

Validation: three installer safety regressions pass; the root-deletion and duplicate-registration regressions fail against the pre-change source. The actual Inno Setup 6 compiler successfully compiled the script in a temporary stub tree; the resulting installer was never executed. All 330 Python tests passed in the current combined worktree; Ruff 0.16.8 error-only checks and git diff --check passed. Registry behavior is checked statically; no live registry changes or install/uninstall execution occurred.

Source overlap: #366 also changes installer.iss to offer AppData retention and patcher backup, but retains the recursive install-root deletion. This change is based on main and addresses root safety/duplicate Apps registration without duplicating those features. #365 changes installer build tooling rather than this script.

@Alban1911
Alban1911 merged commit cc99625 into Alban1911:main Oct 20, 2026
3 of 4 checks passed
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.

2 participants