postgresql-interfaces / psqlodbc

Other
16 stars 15 forks source link

MSI improvements #64

Closed chrullrich closed 1 month ago

chrullrich commented 1 month ago

This is the yield from ~8 hours of poring over the code. This is mostly janitorial stuff, but I'm by no means done; there is more to come. It would be great if you could look it over and tell me whether you are comfortable with it.

My claim in #57 that the component rules violation was the reason for the installation path not changing between versions was wrong. This is in fact an intentional behavior of Windows Installer as long as ODBC drivers are installed using the built-in support, i.e. the ODBCDriver table. In that case, the SetODBCFolders standard action overrides the installation path to maintain the driver in the same location.

chrullrich commented 1 month ago

My exploration of both the PostgreSQL and psqlODBC build systems has not been overly successful (and it certainly did not help that PostgreSQL switched to Meson on Windows). I am able to build PostgreSQL in the most basic way, with essentially no optional features at all. The [censored] [censored] buildInstallers.ps1 ... [censored].

I managed to at least get it to pick up OpenSSL and could see it in libpq's dependencies, but the OpenSSL libraries did not show up in the PostgreSQL installation directory. psqlODBC installers include only those dependencies of libpq that are found in the same directory as libpq.dll, so I ended up with a package that installed a libpq with unresolved dependencies.

I have no idea if I'm supposed to copy libssl-3.dll and libcrypto-3.dll manually; instead, I disabled the OpenSSL support again.

Any advice on how this is meant to work will be greatly appreciated.

davecramer commented 1 month ago

@chrullrich I'm going to take any help I can to get the installer working properly so whatever support you need, just ask. as far as building it goes have a look at https://github.com/dpage/winpgbuild

davecramer commented 1 month ago

Also ideally we switch to WIX4 as I would like to be able to release on windows ARM but it doesn't support WIX3

chrullrich commented 1 month ago

Thanks for the link. It looks like it will be helpful.

Do you specifically need WiX 4, or will 5 also work?

davecramer commented 1 month ago

Thanks for the link. It looks like it will be helpful.

Do you specifically need WiX 4, or will 5 also work?

I think 5 will work as well, I guess there's no reason not to go to 5

chrullrich commented 1 month ago

You know what? Have at it! :-)

chrullrich commented 1 month ago

Obsoleted by #66.