On Fri, Oct 1, 2010 at 11:01 AM, Christian Ullrich <chris@chrullrich.net> wrote:
> * Dave Page wrote:
>
>> So, it sounds like there are two questions for me to figure out - why
>> is the installer not able to follow the link and find the files (which
>> is probably a question for BitRock), and why isn't it using the actual
>> Temp subdirectory as it's supposed to.
>
> It can't follow the link because these links (actually, junctions) have ACLs
> that deny FILE_READ_DATA, which means you cannot enumerate the contents of
> the target directory through the link. See
> <http://technet.microsoft.com/en-us/magazine/ee851567.aspx> for an
> explanation of the ACLs.
Interesting, thanks for the link.
> The OP indicates in his reply to your message that his %TEMP% path is
>
> C:\Users\ADMINI~1\LOKALE~1\Temp
>
> , which is using one of these junctions. This is definitely not the default
> value set when the Administrator profile is created during installation;
> that value would be
>
> C:\Users\Administrator\AppData\Local\Temp
>
> . I would recommend to change the user environment variables (TEMP and TMP)
> to the correct value and retry.
Agreed.
> Of course, even if it works, this does not answer two questions:
>
> 1. How did TEMP end up with this value?
>
> 2. Why does the installer use the wrong directory?
>
> There are two things I can think of with regard to 1. The more likely one is
> that there is some logon script or group policy that applies to the local
> Administrator account, which was written for XP clients and therefore uses
> XP paths. The other idea is that his system may have been upgraded from XP
> by way of Vista and somehow kept the old paths intact.
I would lean towards the former - the upgrade issue seems like
something Microsoft would have ensured works correctly, though it's
possible that a pre-upgrade installation might be in an unexpected
state.
> As for 2, I suspect that somewhere in the installer, it walks down the path
> to the TEMP directory, and fails at the junction because it cannot read the
> contents of its target directory.
I've asked BitRock to confirm or deny that.
I'm thinking we should add a pre-installation check to ensure we can
write to $TEMP, and execute what we've written. Will look into that...
--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise Postgres Company