Pginstaller with msbuild

As of yesterday, msys/mingw is no longer used to build the CVS tip of pginstaller. Instead, it builds completely using the tools of Visual Studio 2005. This includes both the actual installer, and the custom actions written in C. There is no change to the actual installer, it's still built using WiX based on the same files, and the DLLs are built from the same source code (except for a few compatibility fixes).

The build system for the pginstaller is fairly complex. Or at least, it's fairly weird. Mainly because of the need to deal with the translations, which are applied by first generating complete installers in different languages (which in turn is done by rewriting the whole source code and replacing translatable strings) and then doing a "binary diff" between them, which is finally embedded in the main installer.

The drug of choice for this rewrite is msbuild. While primarily geared for building managed code (that's Microsoft-speak for .Net code), it can be a pretty good Makefile replacement. While it can't do everything that your typical unix makefile can do (given that it can't run arbitrary commands), it has some good features for dealing with just the situation we have with our language code. Check it out - it's all in the pginstaller cvs. It's always a matter of taste which is cleaner - I personally find the msbuild code a bit more readable.

The best news is definitely that there is no need for a msys/mingw installation to build it anymore. And if it's used to create an installer for the msvc build of the backend, there's no need for msys/mingw at all anymore.


Conferences

I speak at and organize conferences around Open Source in general and PostgreSQL in particular.

Upcoming

SCALE+PGDays
Mar 2-5, 2017
Pasadena, California, USA
Open Source Infrastructure @ SCALE
Mar 2, 2017
Pasadena, California, USA
Confoo Montreal 2017
Mar 8-10, 2017
Montreal, Canada
Nordic PGDay 2017
Mar 21, 2017
Stockholm, Sweden
pgDay.paris 2017
Mar 23, 2017
Paris, France
PGCon 2017
May 23-26, 2017
Ottawa, Canada

Past

FOSDEM + PGDay 2017
Feb 2-4, 2017
Brussels, Belgium
PGConf.Asia 2016
Dec 2-3, 2016
Tokyo, Japan
Berlin PUG
Nov 17, 2016
Berlin, Germany
PGConf.EU 2016
Nov 1-4, 2016
Tallinn, Estonia
Stockholm PUG 2016/5
Oct 25, 2016
Stockholm, Sweden
More past conferences