Outlook Add in 2003 fails to load

  • Thread starter Thread starter Andrew
  • Start date Start date
A

Andrew

I have an outlook add-in for 2003 which works fine when Outlook is launched
by the user. However, when an external program such Active Sync launches the
outlook process, the add-in's load behaviour in the registry changes to 2 and
does not change back when the Outlook is launched again by the user. To fix
the problem I have to go to the registry and change the load behaviour back
to 3 or click repair in the "Add/Remove" programs for the add-in. Is there
any way to get around this problem. I know in Outlook 2007 that does not
happen because I also developed the add-in for it.

Thanks,
Andrew
 
If you developed that Add-In also for Office 2007 then you as the developer for that Add-In should know and find the answer to that issue in Office 2003 that you are posting about.

Have no idea about your Add-in and what it does and what it is
 
The code for the add-in in both versions are very similar, however, the
changes made by Microsoft between the two versions of Office are dramatic. A
significant portion of the issues I experienced in developing for 2003 were
non-existent for 2007. Needless to say, what my add-in does has very
little(in my opinion) with whether Outlook determines it should be loaded.
That is, the StartUp event that the Object model exposes to code against
Outlook, isn't being hit when the load behaviour changes. That is where the
issue is, if you believe more information of what the add-in does, would
allow for a more informative response then I can do that.

Regards,
Andrew
 
Is it just being disabled from loading or is it actually being disabled by
Outlook (where it would show up in the Disabled Items list)?

Most likely if LoadBehavior is just being set to 2 and the addin isn't being
disabled you're receiving an error and not handling it.

Now when ActiveSync or other such software starts Outlook it's starting it
in what's called "headless" mode, where there are no Explorers or Inspectors
(no UI). So how is your code handling that condition? Are you instantiating
an Inspectors collection and an Explorers collection and handlers for the
NewInspector() and NewExplorer() events? Those would tell you when UI was
added to Outlook.

You also need to tell us more about your code.

What language?

Are you using a different solution with the correct Outlook version
references?

Have you simulated an ActiveSync startup and run your code in the debugger?

Are you logging and receiving any errors?

What is your startup code?

Do you hit your OnConnection or Startup event handlers?

If it's managed code are you receiving any Fusion loader errors when your
addin is started up in that way?
 
It was hanlding the error, but that still changed the loadbehaviour to "2",
so I added this, "If Exists(m_olOutlookApplication.ActiveExplorer) Then"
with the hope that preventing the error from happening may solve the problem.

VS 2005 SE(Visual Basic) are the development environment and language

This is instantiated in the "ThisApplication" class which hooks the
"StartUp" event. oAddIn = New OutlookAddIn(Me) and passed to the class below.

Public Sub New(ByVal oApp As ThisApplication)
Try
m_olOutlookApplication = oApp
m_olInspectors = m_olOutlookApplication.Inspectors
m_olExplorers = m_olOutlookApplication.Explorers
If Exists(m_olOutlookApplication.ActiveExplorer) Then
m_olContactFolder =
m_olOutlookApplication.ActiveExplorer.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderContacts)
olContactFolder = m_olContactFolder
'm_olContactFolderItems = m_olContactFolder.Items
m_butNewEmailSyncToCS = Nothing
m_butNewEmailSendSyncToCS = Nothing

CreateMainCSToolbar()
CreateClientSpaceProperty()
AddSyncedCompNames()
Else
Return
End If
'Automatic_Login()
Catch ex As Exception
MsgBox("OutlookAddIn failed to initialize:" & vbCrLf & vbCrLf &
ex.Message)
Finally
End Try
End Sub

The add-in isn't really being disabled as you assume, the loadbehaviour is
just being set to "2" To debug the code, I usually just hit the run button
and visual studio launches outlook. This method don't produce the desired
results because I assume VS "handles" the problems. I usually deploy the msi
to another test machine to ensure its working as expected.

Andrew
 
So it's a VSTO addin then.

You can also check for Explorers.Count > 0 rather than using ActiveExplorer.
Then if you have a NewExplorer handler you would then instantiate your other
objects in that handler if you weren't already instantiated.
 
To eliminate bad code as being the possible reason, I commented out the
"oAddIn = New OutlookAddIn(Me)" code in the start up event and Outlook still
changed the loadbehaviour to "2" I believe that its a possible .NET Framework
2.0 Security Configuration hole that isn't being covered up. What do you
think?

Andrew
 
From the sound of it I'd agree with Dave and I'd check that out first. I
forgot about that bug until he mentioned it.
 
Hey Dave,

You were right, my first development machine for the 2003 add-in was set up
to deploy the interops and vstoruntime files, but I didn't set up my new
machine to do that. After I completed that and ran the setup.exe file on the
test machine, it installed the interops and vstoruntime. Now launching
outlook in "headless" mode does not change the loadbehaviour. Thanks a lot
guys :)

Andrew
 
Back
Top