Re: Installer WiX project files - Mailing list pgsql-odbc

From Inoue, Hiroshi
Subject Re: Installer WiX project files
Date
Msg-id 538E969B.40605@tpf.co.jp
Whole thread Raw
In response to Installer WiX project files  (Heikki Linnakangas <hlinnakangas@vmware.com>)
List pgsql-odbc
(2014/06/03 22:55), Heikki Linnakangas wrote:
> Continuing my quest to make the Windows build process simpler, I'm
> looking at the differences between the 32-bit and 64-bit installer builds.
>
> psqlodbc_cpu.wxs is currently used for 64-bit builds, while psqlodbc.wxs
> is used for 32-bit builds. psqlodbc_cpu.wxs file is parameterized so
> that it is in theory capable of producing both versions, otherwise they
> are more or less identical.
>
> The 64-bit psqlodbc_cpu.wxs file sets ALLUSERS to 2, while the 32-bit
> psqlodbc.wxs file sets it to 1.
>
> Another difference is that psqlodbc_cpu.wxs doesn't include
> docs/config-opt.html, but psqlodbc.wxs does. That looks like an
> oversight to me; surely we want the file to be included in both 32-bit
> and 64-bit versions?
>
> psqlodbc_cpu.wxs contains a separate table of GUIDs for building with
> Platform=x86, and for compiling with no Platform specified at all. The
> "no platform at all"uses the same GUIDs we have in our official 32-bit
> installers. AFAICS, setting Platform=x86 produces an otherwise identical
> result, but uses a different set of GUIDs. I'm guessing that that was
> part of some grand plan to revamp the installers and change the product
> codes etc. while doing it, but we never got around to do it. So I think
> we should remove that 3rd set of GUIDs.
>
> With the attached patch, I get an identical (as far as I can tell)
> 32-bit .MSI file with psqlodbc_cpu.wxs that psqlodbc.wxs produces. It
> modifies Make.bat to use psqlodbc_cpu.wxs, like MakeX64.bat does, and
> removes psqlodbc.wxs.
>
> (There seems to be more differences between the merge module build
> files, psqlodbcm_cpu.wxs and psqlodbcm.wxs. More on that later.)

There's a difference as to registation.
pslqlodbcm.wxs directly registers using RegistryValue element
whereas psqlodbcm_cpu.wxs registers via ODBCDriver element.
Maybe it's OK to use ODBCriver element for 32bit drivers because
I don't remember to hear the trouble about it for 64bit drivers.
However please note ODBCDriver element causes an error on installation
unless modify_msi.vbs was applied.

> buildX86-installer.ps1 needs a similar modification that I did to
> Make.bat. I was about to do that, but noticed that
> buildX86-installer.ps1 doesn't seem to work with a current checkout anyway:
>
> PS C:\psqlodbc\installer> .\buildX86-installer.ps1
> VERSION    : 09.03.0300
> USE LIBPQ  : yes (C:\Program Files (x86)\PostgreSQL\9.3\bin)
> USE GSS    : no ()
> USE SSPI   : no
> .
> Specify the ProductCode for the VERSION 09.03.0300
>
> So, the ProductCode table in buildX86-installer.ps1 file was neglected
> when we made the 9.3.0300 release. The fact that nobody noticed suggests
> that no-one uses that file. How do you make the official installers?

Unfortunately I little envolved with 9.03.0300 release.
Saito-san used BuildAll script to build dlls but maybe he still uses
Make(X64).bat to build installers.
I would let Saito-san use those Powershell scripts because they
share infos like version, use_libpq and use_gss with BuildAll
script.

regards,
Hiroshi Inoue



--
I am using the free version of SPAMfighter.
SPAMfighter has removed 10516 of my spam emails to date.
Get the free SPAMfighter here: http://www.spamfighter.com/len

Do you have a slow PC? Try a Free scan
http://www.spamfighter.com/SLOW-PCfighter?cid=sigen



pgsql-odbc by date:

Previous
From: Hiroshi Inoue
Date:
Subject: Re: Problem retrieving a numeric(38,0) value as SQL_NUMERIC_STRUCT if value needs to use all 16 SQLCHAR elements of the val array
Next
From: Heikki Linnakangas
Date:
Subject: Moving psqlodbc from pgfoundry to github