fix(install): only create CLI launcher shims when the packaged launcher supports them - #74
Merged
Merged
Conversation
…er supports them openutv.com/install.ps1 redirects to this file. It turned utvio/utvpkg/py-interp/utvls into copies of utv.exe (real binaries moved to <tool>-bin.exe) for every release, but only launchers built with #63 dispatch on their own file name. With the current release (2026.9) the shims started the viewer instead, and the viewer's startup update check (run via py-interp.exe) relaunched the viewer every few seconds. - Create shims only when the downloaded package ships openutv-run.cmd (post-#63 builds), checked before the package is moved into place. - Otherwise repair installs shimmed by the previous installer: keep the package's real <tool>.exe and drop the stale -bin copy. - With shim support, always refresh <tool>-bin.exe from the package. Fixes #73 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Michael Oliver <mcoliver@gmail.com>
This was referenced Sep 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #73.
openutv.com/install.ps1redirects to this file. Since #63's installer changes, it has turnedutvio/utvpkg/py-interp/utvlsinto copies ofutv.exefor every release. Only launchers built with #63 dispatch on their own file name, and the current release (2026.9, built 09-27) predates it. So on a fresh Windows install:py-interp.exe(a copy of the 2026.9 launcher) starts the viewer.openutv-check-updates.pythroughbin\\py-interp.exe, which opens another viewer, which checks for updates, which opens another viewer, and so on.Fix
openutv-run.cmd(post-fix: resolve Windows CLI dependencies and implement OIIO image writing #63 builds). This is checked in the extracted package before it's moved into place, so files from a previous install can't fool it.<tool>.exeand remove the stale-bincopy. Re-running the installer fixes affected machines.<tool>-bin.exefrom the package (previously a stale-binblocked it).Verification
Parsed with
pwsh, and the shim logic was extracted from this file and run against simulated install folders:py-interp.exe/utvio.exe, no-bin-binremoved-bin-binrefreshed from the packageNot run on a real Windows machine. The launcher-side hardening (never fall back to the viewer from a tool shim) follows in a separate PR.
The website repo's unused copy (
public/install.ps1) is kept in sync in OpenUTV/www.openutv.com@b25b7dd.🤖 Generated with Claude Code