Search Postgresql Archives

EDB installer should check for valid %COMSPEC%

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi folks

Some recent discussion on Stack Overflow has revealed another exciting
way for Windows computers to be subtly broken.

For as yet unknown reasons - probably related to security/virus scanner
software, since everything else seems to be - some Windows machines have
an invalid COMSPEC environment variable.

Two variants have been sighted in the wild:

    %SystemRoot%\system32\cmd.exe;

(note the trailing semicolon), and:

    C:\Windows\System32

Both will produce the delightfully helpful initdb failure:

    initdb: could not execute command ""C:/Program
Files/PostgreSQL/9.2/bin/postgres.exe" --boot -x1 -F ": No error

while running:

    cscript //NoLogo "C:\Program
Files\PostgreSQL\9.2/installer/server/initcluster.vbs" "NT
AUTHORITY\NetworkService" "postgres" "****" "C:\Program
Files\PostgreSQL\9.2" "C:\Program Files\PostgreSQL\9.2\data" 5432 "DEFAULT"

which will exit with:

    Script exit code: 1

In the one I was looking into, fixing COMSPEC in the System control
panel's Environment Variables page by removing the trailing semicolon
corrected the issue. It can be verified as correct by opening a new
command prompt after you've changed the variable (not just re-using an
existing already-open one) and running:

    "%COMSPEC%" /C "echo test ok"

which should print:

    test ok

not something like:

    '"C:\Windows\System32\cmd.exe;"' is not recognized as an internal or
external command,
operable program or batch file."



Since I can find several reports of this spanning over a couple of
years, I'd love to see a test for this integrated into the EDB
installer. Just verify that popen() actually works before running the
initdb script, and if it doesn't, check %COMSPEC% to see if it really
points to cmd.exe .

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



-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux