case 4690 - Windows installers: stop creating unused Chrome folders in the program folder; uninstall removes them

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-23 10:47:22 -07:00
parent afb0791ea8
commit b4cfc54aa2
3 changed files with 5 additions and 8 deletions

View File

@@ -224,3 +224,4 @@ Found during the port, out of scope. One line each.
| 2026-10-23 | Fresh Ubuntu 26.04.1 droplet (rebuilt `net10port`, updated by John), updated setup script with the 8.3.0 build | Archive: `aspnetcore-runtime-10.0` 10.0.13 in `resolute`/`resolute-updates` main (no .NET 8 at all, so 8.2.4 cannot run on 26.04); PostgreSQL 18 in Ubuntu's archive but the PGDG repository is kept for one source everywhere; `apt-key` absent (apt 3.2); one Chrome library renamed. Script exit 0: time zone, swap, unattended upgrades, no-phasing, .NET 10.0.13, PostgreSQL 18.6 (pgdg26.04), unique secrets in place and accepted by PostgreSQL, `config.json` 640, AyaNova 8.3.0 boots unlicensed on a new database (schema 20), nginx + Let's Encrypt certificate, HTTPS 200. 11 updates deferred by the no-phasing setting, as designed. Section 4 tests on 26.04 pending John's licence and sample data |
| 2026-10-23 | Section 4 on the 26.04 droplet (licensed and sample data by John) | 22/22 reports (0.9–2.7 s); only `ChromeHeadlessShell` downloaded; `ldd` no missing libraries; cancelled render: browser processes gone within about 25 s (cleanup slower than on 24.04, nothing orphaned). On-demand backup 818 entries. Suite excluding the SuperUser-delete test (SuperUser again had no related records): 95 passed, 2 known failures, 5 skipped = baseline. Restricted role `"AyaNova"` (no superuser, no CREATEDB, password `p @:/?#% x`), database restored with `--role`: boot, backup 818 entries, 22/22 reports, suite = baseline; `config.json` stays 640 `root:www-data` |
| 2026-10-23 | `lan.iss` Hosting Bundle prompt → .NET 10 | Message says 10.x, link opens `dotnet/10.0`. `standalone.iss` has no runtime prompt (launcher and server are self-contained). Not yet built into an installer |
| 2026-10-23 | `lan.iss` and `standalone.iss`: no more `{app}\Chrome` / `{app}\ChromeHeadlessShell` folders | The report browser downloads to `<data>\report-browser` (`%ProgramData%\ayanova`, users-modify in both installers), so the program-folder browser folders were created empty and unused. Uninstall now deletes those folders themselves (was only their contents), clearing what 8.2.x left behind and letting the program folder be removed. Check in the section 4 installer test: fresh install has no `Chrome` folders; upgrade from 8.2.4 then uninstall removes them |

View File

@@ -44,15 +44,13 @@ Source: "C:\data\code\raven\dist\assets\open-ayanova-app.bat"; DestDir: "{app}";
[Dirs]
Name: "{app}";Permissions: users-modify;
Name: "{app}\Chrome";Permissions: users-modify;Flags: uninsalwaysuninstall
Name: "{app}\ChromeHeadlessShell";Permissions: users-modify;Flags: uninsalwaysuninstall
Name: "{commonappdata}\ayanova";Permissions: users-modify;
Name: "{commonappdata}\ayanova\logs";Permissions: users-modify;
[UninstallDelete]
Type: filesandordirs; Name: "{app}\Chrome\*"
Type: filesandordirs; Name: "{app}\ChromeHeadlessShell\*"
Type: filesandordirs; Name: "{app}\Chrome"
Type: filesandordirs; Name: "{app}\ChromeHeadlessShell"
[Icons]
Name: "{autoprograms}\AyaNova server\{#MyAppName}"; Filename: "{app}\AyaNova.exe";IconFilename: "{app}\AyaNova.exe";

View File

@@ -51,16 +51,14 @@ Source: "C:\data\code\raven\dist\win-x64\postgres-empty-database\*"; DestDir: "{
[Dirs]
;Name: "{app}\.local-chromium";Permissions: users-modify;Flags: uninsalwaysuninstall
Name: "{app}";Permissions: users-modify;
Name: "{app}\Chrome";Permissions: users-modify;Flags: uninsalwaysuninstall
Name: "{app}\ChromeHeadlessShell";Permissions: users-modify;Flags: uninsalwaysuninstall
Name: "{commonappdata}\ayanova";Permissions: users-modify;Flags: uninsneveruninstall
Name: "{commonappdata}\ayanova\logs";Permissions: users-modify;Flags: uninsneveruninstall
[UninstallDelete]
;Type: filesandordirs; Name: "{app}\.local-chromium\*"
Type: filesandordirs; Name: "{app}\Chrome\*"
Type: filesandordirs; Name: "{app}\ChromeHeadlessShell\*"
Type: filesandordirs; Name: "{app}\Chrome"
Type: filesandordirs; Name: "{app}\ChromeHeadlessShell"
[Icons]
Name: "{autoprograms}\{#MyAppName}"; Filename: "{app}\launcher\ayanova-launcher.exe";