Skip to content

fix(install): prevent install loop when re-running original exe#118

Closed
0Keith wants to merge 3 commits intomainfrom
chore/bootstrap-scaffolding
Closed

fix(install): prevent install loop when re-running original exe#118
0Keith wants to merge 3 commits intomainfrom
chore/bootstrap-scaffolding

Conversation

@0Keith
Copy link
Copy Markdown
Owner

@0Keith 0Keith commented Mar 22, 2026

Summary

  • After installing to a different directory, re-running the original exe would show the install screen again (no .installed sentinel at the source location). This creates an install loop from the user's perspective.
  • TryInstall now writes an .installed-at redirect marker next to the source exe containing the installed exe's full path. On subsequent launches, HandleNotInstalledLaunch detects the marker and launches the installed copy directly — skipping the install screen.
  • OnBrowseClicked no longer appends a redundant PaperNexus subfolder when the exe is already in the selected folder, preventing a confusing parallel copy.
  • Added .installed-at to .gitignore.

Test plan

  • Download exe to Desktop, install to default AppData path, re-run Desktop exe → should launch the installed copy (no install screen)
  • Download exe to Desktop, browse and pick Desktop as install folder → path should stay as Desktop (no subfolder)
  • Delete the installed exe, re-run the original → stale redirect cleaned up, install screen shown
  • Install to a custom folder, verify .installed-at is written next to source exe

🤖 Generated with Claude Code

0Keith and others added 3 commits March 15, 2026 13:37
Add standardized scaffolding: expand .gitignore, add .gitattributes,
dependabot.yml, DebugMCP config, and permissions block on deploy-website
workflow. Fix Program.cs to skip File.Copy when source and destination
resolve to the same path, and ensure sentinel is written in IOException
fallback.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…creen

When the exe was installed to a different directory (e.g. AppData or a
Desktop subfolder), re-running the original exe showed the install screen
again because it had no .installed sentinel. Now TryInstall writes an
.installed-at redirect marker next to the source exe pointing to the
installed copy. On subsequent launches HandleNotInstalledLaunch detects
the marker and launches the installed copy directly.

Also fixes OnBrowseClicked to skip appending the PaperNexus subfolder
when the exe is already in the selected folder, avoiding a confusing
parallel copy.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@0Keith 0Keith enabled auto-merge (squash) March 22, 2026 17:21
@0Keith 0Keith disabled auto-merge March 22, 2026 21:12
0Keith added a commit that referenced this pull request Mar 22, 2026
Combines:
- fix(install): redirect to installed copy instead of looping (#118)
- Bump CommunityToolkit.Mvvm 8.4.0 → 8.4.1 (#114)
- Bump Microsoft.Extensions.Hosting 10.0.3 → 10.0.5 (#115)
- Bump Microsoft.NET.Test.Sdk 17.13.0 → 18.3.0 (#116)
- Bump xunit.runner.visualstudio 3.0.2 → 3.1.5 (#117)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@0Keith
Copy link
Copy Markdown
Owner Author

0Keith commented Mar 22, 2026

Superseded by #119

@0Keith 0Keith closed this Mar 22, 2026
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.

1 participant