Re: Postgres 9.2 beta2 one-click installer on windows - Mailing list pgsql-general

From Marc Watson
Subject Re: Postgres 9.2 beta2 one-click installer on windows
Date
Msg-id 3AEA66C4C2E030449E8020F9E42E558576575A@sbs2k3.JurisConcept.local
Whole thread Raw
In response to Re: Postgres 9.2 beta2 one-click installer on windows  ("Marc Watson" <mark.watson@jurisconcept.ca>)
List pgsql-general

Original message:

 

De : pgsql-general-owner@postgresql.org [mailto:pgsql-general-owner@postgresql.org] De la part de Marc Watson
Envoyé : June-11-12 8:36 AM
À : Craig Ringer
Cc : pgsql-general@postgresql.org; dpage@pgadmin.org; sachin.srivastava@enterprisedb.com
Objet : Re: [GENERAL] Postgres 9.2 beta2 one-click installer on windows

 

De : Craig Ringer [mailto:ringerc@ringerc.id.au]
Envoyé : June-09-12 3:50 AM

(CCing Dave Page & Sachin Srivastava who work on the installer):

Short version is that the Pg installer appears to need to:

- Include the latest release of the redist because there's a security fix in it
- use /passive not /q when invoking it
- treat return 5100 as success
- swear at Microsoft for not documenting this

Continued below.

On 06/08/2012 11:55 PM, Marc Watson wrote:

 

Executing C:\Users\Mark Watson\AppData\Local\Temp\postgresql_installer\vcredist_x64.exe /q

Script exit code: 5100

 


Is there any chance you can get the version of the currently installed MSVC++ redistributible(s) on your computer? They're listed in programs and features in the control panel.

I originally had version 10.0.40219 installed in both 32 and 64 bit,  which gave me the error. I uninstalled these versions just to get around the 9.2 beta2 install, which installed 10.0.30319.01.

 

I suspect you have a newer version of the same general version (eg 2010 SP1) of the VC++ redist installed, and rather than silently ignore the newer version it's failing.

That was probably the case, since it’s a new computer.


This appears to be a fairly common issue. It's even encountered by the Visual C++ IDE installer its self. The short-term workaround appears to be for the Pg installer to ignore error code 5100. Longer term, I'd like a way to tell the VC++ redist "don't be stupid, just silently take no action if a newer version is present."

We should also probably be using "/passive /norestart" not "/q /norestart" when invoking the installer, since that lets the redist display useful error messages to the user but doesn't demand interaction from them.

BTW, exit code 3100 ("succeeded but a reboot is required) should also be handled if it isn't already.

People are using some scary workarounds, like:

http://notepad.patheticcockroach.com/1666/installing-visual-c-2010-and-windows-sdk-for-windows-7-offline-installer-and-installation-troubleshooting/
(Warning: comments are content-free zone full of me-too, plus people not understanding what the redist does, confusing the installation of the runtime for the us of VC++ with the "install redistributables" option that copies them for _you_ to use in _your_ software, etc).

Also:
http://ta.speot.is/2012/04/09/visual-studio-2010-sp1-windows-sdk-7-1-install-order/
http://social.microsoft.com/Forums/en/crm/thread/db84d4c3-c58e-4ff9-997f-f4e0116bf043

http://blogs.msdn.com/b/astebner/archive/2010/10/20/10078468.aspx

BTW, IBM seems to install the redist as:

vcredist_x86.exe /q /c:"msiexec /i vcredist.msi /qn /l*v 
  %temp%\vcredist_x86.log"

... not sure why yet.

--
Craig Ringer

Mark Watson

 

Just for a follow-up, the 9.2 beta-3 install is behaving correctly.

-Mark

pgsql-general by date:

Previous
From: Angel Zúñiga
Date:
Subject: ProblemWithCharsOSX
Next
From: Tomas Hlavaty
Date:
Subject: success with postgresql on beaglebone