Обсуждение: purpose of exe?

Поиск
Список
Период
Сортировка

purpose of exe?

От
Josh Hester
Дата:

Hi, can you explain the purpose of the exe wrapper around the two msi files?  Will there be a move away from msi files in the future?

 

Thanks!

 

-Josh

Re: purpose of exe?

От
Adrian Klaver
Дата:
On 04/29/2015 07:08 PM, Josh Hester wrote:
> Hi, can you explain the purpose of the exe wrapper around the two msi
> files?  Will there be a move away from msi files in the future?

See here:

http://www.postgresql.org/message-id/545233FC.9070502@winpg.jp
>
> Thanks!
>
> -Josh
>


--
Adrian Klaver
adrian.klaver@aklaver.com


Re: purpose of exe?

От
Christian Ullrich
Дата:
* Adrian Klaver wrote:

> On 04/29/2015 07:08 PM, Josh Hester wrote:
>> Hi, can you explain the purpose of the exe wrapper around the two msi
>> files?  Will there be a move away from msi files in the future?

> http://www.postgresql.org/message-id/545233FC.9070502@winpg.jp

That doesn't actually *explain* anything, it just states a fact with no
rationale behind it.

There are those of us who use some automated deployment method to
install the driver; having to extract the packages from the wrapper
first is just needless effort.

Yes, in principle I can deploy the wrapper executable. Except if I want
to apply an external transform to the package, which I do.

There may actually be some software in the world where MSI simply can't
do the job. I have a hard time believing that an ODBC driver that drops
maybe ten files and the same number of registry keys belongs in that
category.

I have no objection to that wrapper existing, I just don't want to use
it. Please provide the individual MSIs as well.

--
Christian


Re: purpose of exe?

От
Adrian Klaver
Дата:
On 04/30/2015 07:15 PM, Christian Ullrich wrote:
> * Adrian Klaver wrote:
>
>> On 04/29/2015 07:08 PM, Josh Hester wrote:
>>> Hi, can you explain the purpose of the exe wrapper around the two msi
>>> files?  Will there be a move away from msi files in the future?
>
>> http://www.postgresql.org/message-id/545233FC.9070502@winpg.jp
>
> That doesn't actually *explain* anything, it just states a fact with no
> rationale behind it.

Pretty sure the below is an explanation:

"New Windows installer installs both 32-bit and 64-bit driver at once
on 64-bit OS. Both drivers may be needed on 64-bit OS because 32-bit
applications require 32-bit driver and 64-bit applications require
64-bit driver.
"

Having seen enough posts on this list from folks wondering why their 32
bit apps could not find a driver on a 64 bit machine I understand the
reasoning.

>
> There are those of us who use some automated deployment method to
> install the driver; having to extract the packages from the wrapper
> first is just needless effort.

That is entirely possible, I don't play enough in the Windows world to
know.

>
> Yes, in principle I can deploy the wrapper executable. Except if I want
> to apply an external transform to the package, which I do.
>
> There may actually be some software in the world where MSI simply can't
> do the job. I have a hard time believing that an ODBC driver that drops
> maybe ten files and the same number of registry keys belongs in that
> category.
>
> I have no objection to that wrapper existing, I just don't want to use
> it. Please provide the individual MSIs as well.

That is for a developer to answer. I am just a user.

>


--
Adrian Klaver
adrian.klaver@aklaver.com


Re: purpose of exe?

От
Mark Morgan Lloyd
Дата:
Christian Ullrich wrote:
> * Adrian Klaver wrote:
>
>> On 04/29/2015 07:08 PM, Josh Hester wrote:
>>> Hi, can you explain the purpose of the exe wrapper around the two msi
>>> files?  Will there be a move away from msi files in the future?
>
>> http://www.postgresql.org/message-id/545233FC.9070502@winpg.jp
>
> That doesn't actually *explain* anything, it just states a fact with no
> rationale behind it.
>
> There are those of us who use some automated deployment method to
> install the driver; having to extract the packages from the wrapper
> first is just needless effort.
>
> Yes, in principle I can deploy the wrapper executable. Except if I want
> to apply an external transform to the package, which I do.
>
> There may actually be some software in the world where MSI simply can't
> do the job. I have a hard time believing that an ODBC driver that drops
> maybe ten files and the same number of registry keys belongs in that
> category.
>
> I have no objection to that wrapper existing, I just don't want to use
> it. Please provide the individual MSIs as well.

I agree. There's a perennial problem where software is OK for some older
version of OS, but the installer quite simply won't run on it. Adding an
extra layer is highly undesirable.

--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]


Re: purpose of exe?

От
Craig Ringer
Дата:
On 1 May 2015 at 10:15, Christian Ullrich <chris@chrullrich.net> wrote:
> * Adrian Klaver wrote:
>
>> On 04/29/2015 07:08 PM, Josh Hester wrote:
>>>
>>> Hi, can you explain the purpose of the exe wrapper around the two msi
>>> files?  Will there be a move away from msi files in the future?
>
>
>> http://www.postgresql.org/message-id/545233FC.9070502@winpg.jp
>
>
> That doesn't actually *explain* anything, it just states a fact with no
> rationale behind it.
>
> There are those of us who use some automated deployment method to install
> the driver; having to extract the packages from the wrapper first is just
> needless effort.
>
> Yes, in principle I can deploy the wrapper executable. Except if I want to
> apply an external transform to the package, which I do.
>
> There may actually be some software in the world where MSI simply can't do
> the job. I have a hard time believing that an ODBC driver that drops maybe
> ten files and the same number of registry keys belongs in that category.
>
> I have no objection to that wrapper existing, I just don't want to use it.
> Please provide the individual MSIs as well.

Strong agreement on that point - the individual MSI files should be
published, or trivially extractable from the bundle installer. I think
the latter would keep things simpler for most users while still making
easy MSI modifications, AD deployments, etc practical.

A quick look at the bundle suggests that the installer wrapper should
support the /layout option to unpack the bundle contents... but
there's no indication where they go, and the installer simply says
"Setup successful" after run with /layout . It doesn't seem to spit
anything out into %TEMP% or the directory it's run from, and the WiX
installer logs in %TEMP% suggest it might just be running an install
as if /layout was not specified.

A bit of searching shows that /layout doesn't extract the contents:
http://stackoverflow.com/q/16219706/398670 . So it's not what's
needed.

The installer setup program is a WiX bundle:
http://wixtoolset.org/documentation/manual/v3/bundle/,
http://wixtoolset.org/documentation/manual/v3/xsd/wix/bundle.html .
The sources are in the main psqlODBC tree, under
installer/psqlodbc-setup/ .


Since there's no /extract flag or similar, until/unless one gets added
you can extract a bundle by installing the WiX toolkit then using:

    dark -x . the_bundle.exe

which will emit the MSIs in a directory named AttachedContainer /.
Clumsy, to be sure, but it'll work.

There's a WiX feature request to add self-extract support; see
http://wixtoolset.org/issues/3659/ . In the mean time we could support
it if we used a custom bundler application, but I don't expect anyone
will be leaping for the chance to do that...

This might be interesting if anyone does land up interested:
http://www.wrightfully.com/extracting-wix-bundled-msi-files-without-running-the-installer/
. It's focused on unpacking the MSIs but in the process shows how to
unbundle them.


On a side note, the README that's zipped with the bundler doesn't
explain that both the 32-bit and 64-bit drivers are included, which
would be helpful.


--
 Craig Ringer                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services