Windows Builds

This is all about the wizardry employed by Bilal Moussaoui to produce an bundled installer for Windows, both 64- and 32- bit.

Background

Dia, in the past, was built using Automake files, and then the resulting binaries were fed into an NSIS installation package. This system, however, began to fail during the Dark Age of Dia, when the maintainer of the main Dia app vanished, and the maintainer of the separate windows installer system also vanished. As such, when the current maintainer Zander Brown appeared, one of his first goals was to port Dia to a different, more powerful build system. He selected meson.

= Meson =

Dia now uses the Meson build system. This system is flexible, capable of doing everything we need it to do while remaining concise and readable. However, it lacks an easy way to automatically produce an installer for windows. As such, Bilal embarked on a quest to create a working installer using WIX.

How he did it

Bilal and Zandar actually created the installer by sacrificing 10,000 goats to the dark lord, but when that annoying brat Calum asked for a process to put on the wiki, they had to come up with one.

Actually, the installer was forged long ago by High Elves in Gondolin out of star-code, and then promptly lost until Bilal rediscovered it

The reality is, Bilal and Zandar are putting the installer together primarily via gitlab continuous integration systems, while I watch and try to keep track of what is going on. The CI system utilises a template Bilal put together for this purpose; its use is explained in more detail on his blog https://belmoussaoui.com/2019/09/30/build-win32-win64-nightlies-using-gitlab-ci/.

The Template

In effect, Bilal wrote a gitlab-ci.yml configuration file that is a wrapper around a bash script that takes the provided repository and pipes it into WIX (windows installer xml toolset) to bundle up the entire dia app into an installable .msi. The system is still in need of testing, and the version currently in the dia repository. Testing and improvements are currently being done in Palette, a small app that simply puts the color codes of the GNOME standard color palette on screen using GTK.

Problems Faced

No Icon

Description

There is no icon visible in the start menu, despite an icon being visible in explorer === Resolution === The team is currently working on instructing Wix to place the icon inside of the .exe file produced.

Apps/Dia/Win32 (last edited 2019-09-30 19:51:47 by CalumMcConnell)