Merlin Moncure, 12.09.2011 21:28:
>> With the second attempt, the installer again hang during initdb. Checking
>> the state using ProcessExplorer I could see that the installer script was
>> waiting for icacls.exe to set permissions for the user currently running the
>> installer. It was running [icacls.exe "thomas"] instead of [icacls.exe
>> "mydomain\thomas"] - although I have to admit that I don't know if that
>> would make a difference.
>>
>> So I killed the iacls.exe and the script proceeded, just to hang at the next
>> call to icacls.exe when it tried to set the privileges on the directory for
>> the postgres user despite the fact that that user already was the owner and
>> had full control over it. So I killed icacls.exe again and then the script
>> finally finished without problems. The service was registered and
>> successully started.
>>
>> UAC is turned off on my computer.
>>
>
> hm, why is icacls hanging? does it do that if you run it from the command line?
>
I re-ran the installer and copied the actual commandline the installer was using.
It turned out that it tries the following:
(Note that the selected data directory is c:\Daten\db\pgdata91)
icacls C:\ /grant "tkellerer":RX
(Changing the permission for the whole harddisk!!)
Then when I kill that process, the installer starts a new one with
icacls "C:\Daten" /grant "tkellerer":RX
Then I kill that one again, a new one is started with:
icacls C:\ /grant "postgres":RX
Then after killing that one, a new one is started with:
icacls "C:\Daten" /grant "postgres":RX
So it didn't actually hang, but changing the permissions for the entire harddisk (170GB taken) and the complete
c:\Daten(~20GB) directory twice would have taken ages.
Seems there is something fishy about the way the iacls.exe commandline is assembled.
Regards
Thomas