Skip to content

B47: fix FastFlowLM installer chain for the exe->msi asset switch - #40

Merged
agr77one merged 1 commit into
mainfrom
fix/2.5.0-flm-msi
Aug 13, 2026
Merged

B47: fix FastFlowLM installer chain for the exe->msi asset switch#40
agr77one merged 1 commit into
mainfrom
fix/2.5.0-flm-msi

Conversation

@agr77one

Copy link
Copy Markdown
Owner

Summary

The v2.5.0 tag build (release-installer.yml run 31716528809) failed: build.ps1 -BundleFlm downloads flm-setup.exe from FastFlowLM's "latest" release, but upstream moved orgs (FastFlowLM/FastFlowLM -> ROCm/FastFlowLM) and, as of v1.0.1 ("Windows Installer Switch"), replaced that asset with flm-setup.msi. The old filename 404s.

Changes

  • build.ps1 / install.ps1: fetch flm-setup.msi; install via msiexec /i ... /quiet /norestart instead of the old Inno-Setup /VERYSILENT flag set (which has no MSI equivalent).
  • installer.iss: [Files]/[Run] chain flm-setup.msi via msiexec.exe.
  • Docs updated (README.md, installer/README.md, vendor/README.md).
  • Flagged, not fixed (can't verify without a real Windows machine): NeedsFLM()/FlmUninstallCmd() in installer.iss detect an existing FLM install by matching an uninstall-registry SUBKEY NAME starting with "flm version " -- that's how FastFlowLM's old Inno-Setup .exe named its own entry. An MSI-based install typically registers under a product-code GUID instead, so this detection/uninstall-chaining may silently no-op on the new installer until validated on real hardware. Recorded as SPEC.md B47, tied to the existing T8 clean-VM smoke-test gap.

Test plan

  • ruff check . clean, full pytest suite green (536 tests, unaffected -- this is installer/PowerShell only)
  • Both edited .ps1 files parse cleanly ([System.Management.Automation.Language.Parser]::ParseFile)
  • CI green on this PR
  • release-installer.yml succeeds on the next v2.5.0 tag push

🤖 Generated with Claude Code

Upstream FastFlowLM moved FastFlowLM/FastFlowLM -> ROCm/FastFlowLM and, as of
v1.0.1, replaced flm-setup.exe with flm-setup.msi, which broke
release-installer.yml's -BundleFlm download step with a 404.

- build.ps1 / install.ps1: fetch flm-setup.msi, install via msiexec /quiet
  /norestart instead of the old Inno-Setup /VERYSILENT flags.
- installer.iss: [Files]/[Run] chain flm-setup.msi via msiexec.
- Flagged (not fixed, unverifiable without a real machine): NeedsFLM/
  FlmUninstallCmd detect an existing FLM install by uninstall-subkey NAME
  PREFIX, which the old .exe installer set; an MSI install typically
  registers under a product-code GUID instead, so detection/uninstall
  chaining may silently no-op until validated on real hardware.
- Docs updated (README.md, installer/README.md, vendor/README.md).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@agr77one
agr77one merged commit a099f8b into main Aug 13, 2026
5 checks passed
@agr77one
agr77one deleted the fix/2.5.0-flm-msi branch August 13, 2026 15:49

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4f483ebe8c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread installer/installer.iss
Comment on lines +142 to +143
Filename: "msiexec.exe"; \
Parameters: "/i ""{tmp}\flm-setup.msi"" /quiet /norestart /l*v ""{tmp}\flm-install.log"""; \

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Uninstall the MSI through its product-code registration

When Flowkey installs the new MSI on a clean machine, the later uninstall chain cannot find it: FlmUninstallCmd still searches only for the old Inno Setup subkey prefix flm version and reads QuietUninstallString, whereas an MSI is registered under its product-code key and may require msiexec /x. Consequently, even when .flm_installed_by_us exists, uninstalling Flowkey executes the fallback echo FLM not registered and leaves the bundled FastFlowLM runtime installed; update the lookup/uninstall command as part of this installer switch.

Useful? React with 👍 / 👎.

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