BUG #3530: Can't start as service if sb created 'c:\program' file

Lists: pgsql-bugs
From: "" <irek_m(at)poczta(dot)fm>
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #3530: Can't start as service if sb created 'c:\program' file
Date: 2007-08-10 13:30:37
Message-ID: 200708101330.l7ADUb9l012654@wwwmaster.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-bugs


The following bug has been logged online:

Bug reference: 3530
Logged by:
Email address: irek_m(at)poczta(dot)fm
PostgreSQL version: 8.1
Operating system: Windows XP
Description: Can't start as service if sb created 'c:\program' file
Details:

I've installed PostgreSQL in 'c:\program files'. Some buggy program created
file named 'c:\program', and what? PostgreSQL doesn't start!
This error is due to Windows's stupid rules of resolving executable names.
You've added registry entry ImagePath=c:\program files\Postgre
SQL\bin\pg_ctl.exe ...
Now Windows tries to execute c:\program, if not found - c:\program
files\Postgre, and so on, until reaches the end of string.
pg_ctl.exe when registering the service should quote this name:
ImagePath="c:\program files\Postgre SQL\bin\pg_ctl.exe".
But even this doesn't solve the problem, pg_ctl.exe starts postgres.exe, and
probably you haven't used quotations again in CreateProcess invocation. So
there are at least two bugs with lack of "..." in pg_ctl.exe.

If the server started not using net start, but manually (using postgres.exe
-D "..."), everything works ok, so postgres.exe probably doesn't have this
bug.


From: "Hiroshi Saito" <z-saito(at)guitar(dot)ocn(dot)ne(dot)jp>
To: <pgsql-bugs(at)postgresql(dot)org>, <irek_m(at)poczta(dot)fm>
Subject: Re: BUG #3530: Can't start as service if sb created 'c:\program' file
Date: 2007-08-20 04:28:52
Message-ID: 03ae01c7e2e2$9cd92030$c601a8c0@HP22720319231
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-bugs

Hi.

Any problems are not reproduced in pginstaller.
http://winpg.jp/~saito/pg_bug/pgsql_regstry.png
Therefore, it must take a special situation into consideration
to directions. Is your problem original structure's?

Regards,
Hiroshi Saito

From: <irek_m(at)poczta(dot)fm>

>
> The following bug has been logged online:
>
> Bug reference: 3530
> Logged by:
> Email address: irek_m(at)poczta(dot)fm
> PostgreSQL version: 8.1
> Operating system: Windows XP
> Description: Can't start as service if sb created 'c:\program' file
> Details:
>
> I've installed PostgreSQL in 'c:\program files'. Some buggy program created
> file named 'c:\program', and what? PostgreSQL doesn't start!
> This error is due to Windows's stupid rules of resolving executable names.
> You've added registry entry ImagePath=c:\program files\Postgre
> SQL\bin\pg_ctl.exe ...
> Now Windows tries to execute c:\program, if not found - c:\program
> files\Postgre, and so on, until reaches the end of string.
> pg_ctl.exe when registering the service should quote this name:
> ImagePath="c:\program files\Postgre SQL\bin\pg_ctl.exe".
> But even this doesn't solve the problem, pg_ctl.exe starts postgres.exe, and
> probably you haven't used quotations again in CreateProcess invocation. So
> there are at least two bugs with lack of "..." in pg_ctl.exe.
>
> If the server started not using net start, but manually (using postgres.exe
> -D "..."), everything works ok, so postgres.exe probably doesn't have this
> bug.