Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

How can I integrate an outlook add-in?


2 replies to this topic

bulo007

bulo007
  • Members
  • 1 posts

Posted 12 October 2005 - 17:07

Hi,

I'm having problems integrating an outlook plugin DLL (mde in Visual Studio 2003) to a Basic MSI Project in InstallShield 11. If the outlookplugin.dll is used in Visual Studio default installer it works fine.

The outlookplugin.dll should only displays a "Hello World" message box when Outlook 2003 starts.

I have tried to do the following:

1) Adding all output dlls from the Visual Studio installer to InstallShield using Project Assistant -> Application files -> Add Files/Folder (Extensibility.dll, msoutl.olb, Interop.Microsoft.Office.Core.dll, log4net.dll, MSO.DLL, stdole.dll, Interop.Outlook.dll, OutlookPlugin.dll, OutlookPlugin.tlb). Each file is mapped to a different component in InstallShield (as specified in Best Practices).

2) Only add the outlookplugin.dll. Its dependencies dlls are generated automatically.

3) Same as 2), but configured HlMK/.../Office/Outlook/AddIns registry data, added in advanced settings a new .Net Assembly and specified COM Classes and ProgIds in COM registration.

4) Created a merge module in Visual Studio 2003 that wraps the outlookplugin.dll. I set the merge module to the first feature of my InstallShield project using Files and Folders -> Redistributables. Actually it installs the merge module files, but it doesn't show the message box in Outlook.

5) Tried to apply a transform between the Visual Studio MSI installer and my basic MSI InstallShield installer, but there were errors in the application since the content of rows in msi tables is very different.

If someone knows how to integrate Outlook add-ins to InstallShield 11, please let me know.

Thanks,
Raul Treviño




Zweitze

Zweitze
  • Full Members
  • 522 posts

Posted 12 October 2005 - 19:48

From Office 2000 on, you can easily integrate in most Office products. Basically you create a COM-server that implements a certain COM interface (IDExtensibility2 ? something like that), register that server, and write in the registry the name of that server. When Outlook (or Word, Excel, FrontPage, PowerPoint etc.) starts, it sees the registry key, instantiates your server and invokes the interface.
This kind of integration is called a "COM Add-in": search for it on MSDN.

I assume you missed the registry key. You have two options, if your software is installed for the active user only, the registry information should be written at:
HKCU\SOFTWARE\Microsoft\Office\Outlook\Addins\
In case of an installation for all users, use this key:
HKLM\SOFTWARE\Microsoft\Office\Outlook\Addins\

Look on MSDN what to write at these locations.

Glytzhkof

Glytzhkof
  • Moderators
  • 1,447 posts

Posted 12 October 2005 - 23:09

Tip: Try to avoid registering per user unless the installation is a real per user install. Register per machine - it will make your life a lot easier.
Regards
-Stein Åsmul