Fix #5236: find PhotoCraft where its Windows installer puts it

Per CodeRabbit on #5327: on Windows Edit Original looked for photocraft.exe
only on the PATH, but PhotoCraft's MSI installs it to ArtCraft\PhotoCraft
under %LOCALAPPDATA%\Programs (per user, the default) or Program Files (for
everyone), neither on the PATH. Look first at the path the installer
registers under App Paths (HKCU, then HKLM; `reg query`, as i18n reads the
locale, which also covers a folder chosen in setup), then those two default
folders, then the PATH. Each candidate must still be an .exe.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ruchirguitar
2026-11-03 19:57:04 +07:00
committed by bflatastic
co-authored by Claude Opus 5.5
parent d7aa1c561f
commit 46f1ddf170
2 changed files with 108 additions and 6 deletions
+3 -2
View File
@@ -670,8 +670,9 @@ the system and return `{path}`. Edit Original opens only a regular file whose ex
reads, and answers a control request with an error unless the file is a placed document (which opens in a tab).
The preference `editOriginalSystemDefaults` (Preferences › File Handling › Use System Defaults for Edit Original, on
by default, #5236) opens the file in the system's default app for it; off, in the app that made it: a raster image in
PhotoCraft, looked for only where it installs (the Applications folders on macOS, the `PATH` elsewhere), and any other
file, or a raster image without PhotoCraft installed, in the system's default app.
PhotoCraft, looked for only where it installs (the Applications folders on macOS; on Windows the path its installer
registers under App Paths, then `ArtCraft\PhotoCraft` in the per-user and per-machine program folders, then the `PATH`;
the `PATH` elsewhere), and any other file, or a raster image without PhotoCraft installed, in the system's default app.
Package: File → Package… (`ui.packageDialog`) opens the `package` dialog for a saved document (a document never saved
gets a `confirm` dialog whose OK runs `file.saveAs`). Fields: `folder` (the location), `name` (the package folder),