I have a .NET windows service that is calling cdb.exe to analyze crash dumps. I want to download the symbols from http://msdl.microsoft.com automatically when needed, using the argument:
-y srv*c:\symbols*http://msdl.microsoft.com/download/symbols
If I run the application as a console application, It works as expected and it downloads the needed symbols for each dump.
The problem is when I start the app as a windows service, the symbols are not downloaded and, if I turn symnoisy on, at cdb's output log I have an entry for each symbol saying that the symbol hasn't been found at http://msdl.microsoft.com
So, I've checked it using a sniffer and the funny thing is that no request is made to the microsoft symbols server when running as a service.
Googling a little, I've found that I'm not the only one with this issue and it seems that the problem is that when running an application as a windows service, it is using winHTTP library for http requests, instead of wininet, which I think is the root of the problem: http://support.microsoft.com/kb/238425
So, I don't know why, cdb is not able to connect to ms symbols server using winHTTP library and I need a way to force cdb use wininet by default.
Anyone has an idea of a workaround to this issue?