title: CreateObject on Outlook.Application fails on Outlook 2010 when Outlook is running under a different account
body: <p>The problem I'm running into is already described at <a href="https://stackoverflow.com/questions/3750605/getting-creating-an-outlook-application-in-windows-7/3779945#3779945">Getting/Creating an Outlook Application in Windows 7</a> but I had a very hard time identifying the source of the problem because I happen to be maintaining an old VB6 application at the moment, and the errors that are reported from VB6 applications are not mentioned in that article. Furthermore, I'm looking for better solutions.</p>
  
  <p>The problem is that <code>CreateObject("Outlook.Application")</code> and <code>GetObject(,"Outlook.Application")</code> are failing with Error 429 - ActiveX component can't create object, particularly on Windows 7. The source of the problem turns out to be that if Outlook is already running under a normal user account and an application is running as an administrator (not unheard of for old 32-bit applications running on Windows 7) wants to access Outlook, the request for an Outlook COM interface hangs for 30 seconds and then fails. It seems to be related to the fact that the requested instance of Outlook and the already-running instance of Outlook are using different user accounts or privileges.</p>
  
  <p>It would be nice, first of all, if a better error could be reported, and if it could be reported more quickly. Usually the application hangs for 30 seconds before reporting the error. So the first question is, is there any way to detect this condition without waiting 30 seconds?</p>
  
  <p>Next, is there any way to work around this error so we don't have to care that Outlook might already be running under different credentials when we want to access the Outlook API? One thought is turning off UAC so that the old 32-bit application is less likely to need to be running as administrator. Is there a better solution?</p>