Re: Windows Installer of FreePG
Daniel Kahn Gillmor 12 Aug 2026 17:34 UTC
Hi Patrick, all--
On Sun 2026-08-09 12:48:54 +0200, Patrick Brunschwig wrote:
> One of the missing pieces for FreePG in my eyes is a windows port. I
> recently took the time to create a windows installer (cross-compiled on
> Debian).
Thank you for doing this work!
> The result is available here (currently, a 1st release of 2.4.9):
> https://enigmail.net/download/freepg-win/
It looks like these are .exe installers.
I'm pretty fuzzy on Windows these days, but a bit of digging turns up a
suggestion that there are currently four styles of windows installers:
MSIX, PWA, MSI, and EXE. Just out of curiosity i thought i'd walk
through what the tradeoffs are between them.
https://learn.microsoft.com/en-us/windows/apps/publish/publish-your-app/msix/reserve-your-apps-name
MSIX appears to provide some sort of filesystem and registry isolation:
https://learn.microsoft.com/en-us/windows/msix/msix-containerization-overview?source=recommendations
Given that freepg's main job is to do things like interact with the
user's filesystem, maybe we don't want MSIX. (though
https://en.wikipedia.org/wiki/Universal_Windows_Platform_apps#Security
suggests that the limits might only be to "user folders" which is maybe
sufficient?)
I think PWA is a "progressive web app", which is definitely not FreePG.
So, sticking with EXE or plain old MSI is probably what we want. I
think MSIs are likely to be better for uninstalling safely, though, no?
Is it possible to build as an MSI?
> If you're interested, the source code to build all pieces and create the
> installer is in the following repository:
> https://gitlab.com/pbrunschwig/freepg-win
If other folks within FreePG are OK with it, would you be willing to
move these build scripts under the FreePG umbrella officially? If
FreePG does adopt them, not sure whether we should put it in the main
repo someplace, or just have it be its own repo, though.
We don't currently distribute even tarballs from the freepg.org; but
maybe it's time to have another conversation about what artifacts we
want to distribute?
--dkg