Humungus
2006-08-19 12:39:02 UTC
I have a program that uses WinInet to get information from a server URL.
It works correctly when run from one directory but fails when run from
another (by the same user) – when run from "c:\temp" the process works
correctly whereas when run from “c:\Program Files\Program Name” it fails
The failure is Internet Exception 12029, which is thrown on a call to
SendRequestEx
12029 ERROR_INTERNET_CANNOT_CONNECT
The attempt to connect to the server failed.
I used Process Explorer (sysinternals) to check the process owner both for
the process that works and the one that fails, the owner is
the same in both cases.
I obtained a log by running the debug version of wininet.dll
(http://support.microsoft.com/defaul...Ben-us%3B884931) but this gave me no
more useful information.
By setting security auditing I discovered that the failure was causing the
following event:
Event Type: Failure Audit
Event Source: Security
Event Category: Privilege Use
Event ID: 577
Date: 8/18/2006
Time: 12:53:30 PM
User: TEST1\admin
Computer: TEST1
Description:
Privileged Service Called:
Server: Security
Service: -
Primary User Name: admin
Primary Domain: TEST1
Primary Logon ID: (0x0,0x9307)
Client User Name: -
Client Domain: -
Client Logon ID: -
Privileges: SeTcbPrivilege
I do not understand how or why the same executable when run from two
different directories by the same user and observed to have the same process
owner can succeed on the one hand and fail on the other!
As the only difference is the directory from which the exe is run and the
process owner is the same; what is causing the privilege use failure in one
instance and not the other?
The directories they are in do have different sets of permissions; could
this be the cause? If so what is the mechanism?
I have searched extensively and found no answers hence my post.
The OS is Win XP SP1A
Can anybody shed light on this please?
It works correctly when run from one directory but fails when run from
another (by the same user) – when run from "c:\temp" the process works
correctly whereas when run from “c:\Program Files\Program Name” it fails
The failure is Internet Exception 12029, which is thrown on a call to
SendRequestEx
12029 ERROR_INTERNET_CANNOT_CONNECT
The attempt to connect to the server failed.
I used Process Explorer (sysinternals) to check the process owner both for
the process that works and the one that fails, the owner is
the same in both cases.
I obtained a log by running the debug version of wininet.dll
(http://support.microsoft.com/defaul...Ben-us%3B884931) but this gave me no
more useful information.
By setting security auditing I discovered that the failure was causing the
following event:
Event Type: Failure Audit
Event Source: Security
Event Category: Privilege Use
Event ID: 577
Date: 8/18/2006
Time: 12:53:30 PM
User: TEST1\admin
Computer: TEST1
Description:
Privileged Service Called:
Server: Security
Service: -
Primary User Name: admin
Primary Domain: TEST1
Primary Logon ID: (0x0,0x9307)
Client User Name: -
Client Domain: -
Client Logon ID: -
Privileges: SeTcbPrivilege
I do not understand how or why the same executable when run from two
different directories by the same user and observed to have the same process
owner can succeed on the one hand and fail on the other!
As the only difference is the directory from which the exe is run and the
process owner is the same; what is causing the privilege use failure in one
instance and not the other?
The directories they are in do have different sets of permissions; could
this be the cause? If so what is the mechanism?
I have searched extensively and found no answers hence my post.
The OS is Win XP SP1A
Can anybody shed light on this please?