Outlook Addin hangs during startup if Exchange unavailable

Add-in Express™ Support Service
That's what is more important than anything else

Outlook Addin hangs during startup if Exchange unavailable
But this only happens when an add-in is loaded 
Dave Gardner


Guest


In Outlook when the Exchange Server is unreachable, Outlook freezes for a long time (up to 5 mins on some PC's) during startup while trying to connect. Despite this being triggered by the unavailability of Exchange, it only happens when an Add-in Express addin is installed.

To reproduce this the Exchange Server must be unreachable such that it will timeout, not simply be unavailable. ie setting the Exchange Server to localhost will not reproduce as it will connect to localhost and recognise that it's unavailable immediately.

When I run my add-in in debug-mode, I could see that shortly after Outlook starts up, it calls the constructor on the AddIn, which completes quickly. The delay occurs following this, and then a few minutes later it calls the AddinStartupComplete method. I am assuming that AddIn Express is doing something between the constructor and the AddinStartupComplete which is causing this hang.

Also it only happens whilst working online - if you change Outlook to Work Offline, it will start quickly. Likewise Outlook will start quickly if you disable the AddIn.
Posted 23 Apr, 2007 04:11:59 Top
Fedor Shihantsov


Guest


Hello Dave,

Do you use ADXOlFormsManager in your Addin?

P.S. Note that we take up your forum requests in the order we receive them.
Besides, it may take us some time to investigate your issue. Please be sure we will let you know as soon as the best possible solution is found.
Posted 23 Apr, 2007 04:31:46 Top
Dave Gardner


Guest


Yes we are using ADXOlFormsManager. This is running under ADX v3.3, .NET v2.0, Outlook 2003.

Thanks,
Dave
Posted 23 Apr, 2007 04:34:01 Top
Fedor Shihantsov


Guest


Dave,

Could you please test the following addin and let me know about the result.

http://www.add-in-express.com/projects/adx-ol-3-temp-test_slow_start.zip

Note, this addin doesn't contain ADXOlFormsManager.
We know an issue when the delay occurs when you call NameSpace.GetDefaultFolder using late binding.
Currently, we don't know any workarounds for this issue. However, I would like to be sure that GetDefaultFolder is the cause of your delay.
Posted 23 Apr, 2007 06:03:26 Top
David Ing




Posts: 39
Joined: 2007-02-16
Hi Fedor and Dave,

I can confirm that this is an issue for us too - I get a fair amount of support calls for 'Outlook locking up' with an Add-in startup (using forms) and due to their intermittent Exchange connectivity.

I just wanted to reiterate how important this issue is to look at, plus any possible workarounds to be found.

If the values/refs are the same each time then could they be cached? Even if it requires a one-off 'force to offline mode' or something?



Posted 23 Apr, 2007 06:32:00 Top
Fedor Shihantsov


Guest


David,

I also want to resolve the issue. There can be a number of reasons of an Outlook slow start. For example: http://support.microsoft.com/kb/q155048/
One of our customers helped me find the code related to ADXOlFormsManager.
It is GetDefaultFolder. Unfortunately, I can not reproduce this behavior in my environment.

There is a need to call NameSpace.GetDefaultFolder using late binding.
This occurs in the Initialize event.

Of course, I will try to find a solution.
David, please test the sample above and let me know about the result.
What the Exchange version do your customers use?



Posted 23 Apr, 2007 10:01:19 Top
David Ing




Posts: 39
Joined: 2007-02-16
Fedor,

I can not reliably recreate it here (with your example) with our Exchange Server 2003 unfortunately.

As for the customers who've reported it before, unfortunately they haven't remained as customers, so it's been hard for us to get detailed diagnostic info from them. When the add-in locks up like this is pretty much game-over as it creates a really bad impression of what's happening to Outlook when the add-in is installed. Getting Outlook to start up as quickly as possible is a really important usability factor to many add-in customers. One customer certainly was using Exchange 2003 though, and it was always around the initialization and (probably) the ADX .GetDefaultFolder call.

Sorry I can't be of more help. Let me know if you want me to try any interim ideas/builds though.
Posted 24 Apr, 2007 09:43:40 Top
Fedor Shihantsov


Guest


David,

Could you please create a logging with the time information in your add-in, and add the InitDefaultFolders() method from the sample to the AddinModule_AddinInitialize event to determine a weak place.
Posted 24 Apr, 2007 10:57:09 Top
Dave Gardner


Guest


Fedor,

This is an old issue, but I have been working on something totally different for a while. However I have now come back to look at this problem again.

I have retested this and it is still a problem. As you suggested I ran the same from http://www.add-in-express.com/projects/adx-ol-3-temp-test_slow_start.zip
and found the problem occured in InitDefaultFolders() at the line

PublicFoldersObj = OutlookUtils.GetPublicFolders(HostApplication);

This is what takes a very long time to return.

I can also reliably reproduce this with Outlook by adding a record to my hosts file under c:\windows\system32\drivers\etc. I added an entry to point my exchange server at an invalid IP address - the address I used was 192.168.151.144. You should also be able to do this and reproduce the problem.

Thanks,
Dave
Posted 15 Aug, 2007 05:16:46 Top
Fedor Shihantsov


Guest


Hello Dave,

The cause of the delay is getting olPublicFoldersAllPublicFolders. A customer gets this delay when he uses a dial-up without Exchange connection.

However, we need to get olPublicFoldersAllPublicFolders in the adxOlFormsManager code. That's why we can not avoid this system issue.

Posted 17 Aug, 2007 08:22:01 Top