'Zis code

Code:
    
    struct OleManager
    {
        Ole() { OleInitialize(); }
        ~Ole() { OleUninitialize(); }
    } 
    manager;

    IID clsid;
    if(FAILED(hr = ::CLSIDFromProgID(L"Excel.Application", &clsid))) 
    {
        // Error handling
        return 0;
    }


    IDispatch * excel;
    if(FAILED(hr = ::CoCreateInstance(clsid, 0, CLSCTX_LOCAL_SERVER,
        IID_IDispatch, (void **) &excel))) 
    {
        // STOP 0x80080005 CO_E_SERVER_EXEC_FAILURE
        return 0;
    }
In the Event Viewer, I can see this entry:

[code]The server {00024500-0000-0000-C000-000000000046} did not register with DCOM within the required timeout.[/cide]

I've followed the advice here

http://support.microsoft.com/kb/254659
http://support.microsoft.com/kb/187146

But got nothing. I've even seen http://blogs.msdn.com/adioltean/archive/2005/06/24/432519.aspx and http://support.microsoft.com/kb/174024 and more, but they don't 'seem' to apply (I did still try their suggestions) I can't tell what could possibly be the source of this problem.

I am running an administrative account on Windows XP SP2