TODO, under construction

Gpg4win v2.3.0 and earlier uses an installer build on top of NSIS, cross build on Debian GNU/Linux. There were once instructions to manually build an MSI installer from the NSIS package, which are now outdated (see below).

Should we use something else? What is a better solution?


(Todo: weight and rank)

  1. can be automated, because manual building will induce errors, is less reproducible and costs significant efforts.
  2. can be cross build, because main GnuPG build environment and developer community is on GNU/Linux.
  3. consists of Free Software, so it can be independently audited
  4. behaves like a common application on the platform, so users can use their tools and knowledge
    • if a software distribution system or a system management solution is used, we shall play nice with it.
    • deinstallation should work via system controls
  5. looks attractive, to promote acceptance.
  6. can be internationalized, because GnuPG and apps target a lot of international users. German is a core language.
  7. can do everything that is needed, e.g. if services are to registered for autostart.
  8. is easy to understand and change, because this reduces efforts and problems.
  9. handling some level of dependencies and version, because we want Ggp4win to be updated separately from applications that use it, e.g. Claws Mail.
    • we also want the crypto engine to be updateable independently from "the rest" of Gpg4win. Rationale: less risk of breaking by separate testing and faster (security) updates.
  10. install/updates/deinstall should be possible
  11. update notifications, so that users will know when they run an outdated version and should update.
  12. verification of the Installer, so that user can be sure where it comes from.
  13. allow (volunteering) payments?
  14. allow to be found, conceived via "popular" stores? Windows App Store? Steam?
  15. maybe inspected before execution? Could be security feature or makeing it possible to get it installed in more restricted environments?


Stefan Kanthak's case against executable installers (contaminated with advertisements) but links to old and new stuff The Future of Windows Installer (MSI) in the Light of Windows 10 and the Universal Windows Platform:

AppX is now our deployment model. MSI isn’t going to go away, but we want you to move to AppX. (May 3rd, 2015)

examples for "executable" installers

Microsoft and other known vendors still use non-"windows installer" executable installers. Probably for a reason. (Which reasons more precisely?)

It may still be state of the art used by a large fraction (how large, majority?) of current software products for windows.

Potential reasons:

msi aka "Windows Installer"

Old, probably outdated instructions to build an msi Installer for Gpg4win:;a=blob_plain;f=src/README-msi.txt;hb=HEAD The format inside is unspecified and implemented in msi.dll. :
If you really want to know more about the details of the internals of the MSI file format then take a read through of these two blog articles by Rob Mensching (the author of WiX)

It is possible to launch executables from MSI during installation:

MSI files can contain other MSI files and other files like CAB files.

Free Software that potentially could read/write COM Structured Storage files:

WiX Toolset Industrial Strength Windows Installer XML ( IsWiX ) makes authoring Windows Installer XML (WiX) Windows Installers (.MSI) easier. The WiX toolset builds Windows installation packages from XML source code.

It uses msi.dll for the internal, undocumented database implementation inside "COM structure storage", thus it cannot run without a windows implementation like Wine., 2014-04: """The managed code should work on Mono but WiX contains native code and relies on an implementation of msi.dll. You end up needing Wine anyway. """


Discussion about the best installing technology targetting MS Windows. Started by bernhard.

Gpg4win/Installer (last edited 2015-12-02 07:42:03 by bernhard)