Administrator installer with options and engine selection (Inno Setup), version 1.2.0 - #21
Merged
Merged
Conversation
GetPackagePathByFullName2 was imported from kernel32.dll, which doesn't export it. The call only happens once the package is registered, so adding the entry crashed Filee right after Windows accepted it, and the General page threw on every later visit. It is now imported from its API set, the package state and menu commands never take the app down, and a test checks that every native import exists in the DLL it names. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The gesture is detected before anyone knows what is dragged, so a modifier + drag of text or a rubber-band selection opened an empty ring. The window now waits invisibly at the cursor and the donut appears only when files enter; otherwise it closes quietly when the button is released. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Filee-<version>-win-Setup.exe is now built from installer/Filee.iss with a pinned, portable Inno Setup 7 (build/build-installer.ps1; nothing is installed on the build machine). It installs for all users into Program Files with one UAC prompt, while Filee itself keeps running unelevated as the signed-in user. - Options page: "Convert with Filee" in the Explorer menu, on Windows 11 also at the top of the menu (Setup registers the sparse package with the rights it already has), start at sign-in, desktop icon. - Engine page: the optional engines with download and installed sizes, generated from EngineDownloads and the app's translations. Filee downloads the picked ones in its engine window when Setup starts it (--install-engines), so verification and progress stay in one place. - Updates close Filee gracefully (--quit) and move a FileeExplorerMenu.dll that Explorer has loaded aside, so no restart is needed; the uninstaller runs --uninstall-cleanup. - An installation of Filee 1.1 or earlier (Velopack, per user) is taken over: its files, shortcuts and uninstall entry are removed, settings and downloaded engines are kept. - The portable zip is now a plain folder; SHA-256 sums are published with the release. - Release builds are marked with -p:FileeRelease=true instead of asking Velopack whether they are installed. - CI compiles the installer script against a stub app. Version 1.2.0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
What
Filee-<version>-win-Setup.exeis now a real setup wizard (Inno Setup 7) instead of Velopack's one-clickinstaller. It runs with administrator rights once and installs Filee for all users in Program Files; Filee itself
still runs unelevated as the signed-in user (Windows blocks drag and drop from Explorer into elevated windows).
Wizard (English, Korean, Simplified Chinese; follows light/dark mode):
(Setup registers the unsigned sparse package with the rights it already has, so no extra UAC prompt), start at
sign-in, desktop icon
already downloaded ones are shown as installed. The list, sizes, suggestions and names are generated from
EngineDownloadsand the app's translations (build/tools/make-installer-engines.cs)speed and time left (
--install-engines=…), so checksums and progress stay in one placeUpdates and uninstall:
Filee.exe --quit, waits until it has) and renames aFileeExplorerMenu.dllthat Explorer still has loaded, so updating needs no restart. An update skips the option and engine pages and
keeps what was chosen in the app.
uninstall entry and Explorer menu registration are removed; settings and downloaded engines stay.
Filee.exe --uninstall-cleanup(Explorer entries, startup entry, downloaded engines).Build and release:
build/build-installer.ps1publishes the app, builds the Explorer menu extension, bundles rhwp and 7-Zip andcompiles
installer/Filee.isswith a pinned Inno Setup 7.1.0 (SHA-256 verified) that it sets up in Inno's ownportable mode inside
build/.cache— nothing is installed on the build machine or the runner.Filee-X.Y.Z-win-Setup.exe(90.7 MB, was 135 MB),Filee-X.Y.Z-win-Portable.zip(a plainfolder now) and
Filee-X.Y.Z-SHA256SUMS.txt. No more Velopack update feed.-CheckOnly, about a minute).-p:FileeRelease=true(they may register Explorer and startup entries) instead ofasking Velopack whether the app is installed. The Velopack package is removed.
Tests
InstallerTests: the options the script passes are exactly the onesCommandLineparses, the Explorer menupackage identity and the engine marker match the app, and an engine choice with nothing left to install opens
nothing.
dotnet testpasses. The wizard pages were checked in a non-admin preview build (screenshots in the session).pwsh build/build-installer.ps1 -Portable.Setup itself needs a UAC prompt, so the install / update / Velopack migration run is tested by hand before tagging.
🤖 Generated with Claude Code