Create Outlook 2007/2003 add-in in Visual Studio 2012 Professional - c#

Is there any way to create add-in for Outlook 2007/2003 in Visual Studio 2012 (C#)?
So far I found that it should be possible and I just need to remove references from build-in 2010 add-in. Also tried to download some packages for older VS without success. After many attempts, during adding .dll file to Outlook 2007, I am still receiving error, that it is not add-in for Outlook 2007.
After all, I doubt a lot that I can do some add-in for old Outlook 2003 if I am not able to do it for 2007. It would enough for this time to force 2007 add some add-in with only MessageBox on startup.

You can try to use this library NetOffice. I'm using it and is very good.
Even if it does not fits your needs you can dig a little in the code and try to understand how they do it. They have nice examples.
BTW, If you are using VS express edition you cannot develop Office add-ins without a library like NetOffice.

Related

Developing Outlook Add-In which Outlook Add-In version should I select in VS?

I am developing my first Outlook Add-In in C#. In Visual Studio I have the options to develop an "Outlook 2010 Add-in" or "Outlook 2013 Add-in" or probably an "Outlook 2016 Add-in".
This Add-In should work on one PC which runs currently Outlook 2010 but which I could upgrade to a newer version.
If I start to develop an "Outlook 2010 Add-in" will this also work in Outlook 2013 and 2016? Do I have to do something to make it work with different versions of Outlook?
My Add-In will check some details of the mails and depending on the details it will sort these mails. I guess that should work in all versions.
Is there a clear advantage of an 2013 or 2016 Add-In compared to 2010?
As mentioned in comments by #penleychan, targeting the latest version is a good thought. I did the same when I develop my VSTO addin. Most of the time I have used the common features of the Outlook and developed the addin with template version similar to the installed office (on my machine). Its easy to debug.
If the addin is going use specific feature(s) of a version of Office, then we should use that version template.
You may like to refer this link.
You can run your Office 2010 based solution in later Office versions. You just need to choose the right target .net version. Read more about that in the Running Solutions in Different Versions of Microsoft Office article.
Is there a clear advantage of an 2013 or 2016 Add-In compared to 2010?
The only benefit you get in that case - the PIAs version corresponding to the target Office version. That means you will get access to objects, methods, properties and events available in later Office versions. Anyway, at runtime you still can use the late-binding technology which allows accessing missed members at design-time. See Type.InvokeMember for more information.

Excel Add In development,Compatibility of office 2010 and office 2013

I have used Shared Add In(C#) to develop an Excel Add-In. In the initialization, I had no problem with loading excel-dna file .xll on Office 2010. However, there is problem with running on either Office 2013 or 2016, showing that "function is Invalid".
AddIn udfAddIn = applicationObject.AddIns.Add(progID, true);//the exception is "AddIns is Invalid"
udfAddIn.Installed = load;
Please help me. I would like to know how it (.xll file) works on Office 2013 and 2016 by shared add in. Thanks!
You are mixing two different technologies when you make a Shared add-in (a COM add-in) with Excel-DNA. I'm surprised it worked with Excel 2010.
The best approach is to make a new Class Library project (targeting .Net Framework) and then install the ExcelDna.AddIn package from NuGet. Then follow the instructions in the readme file that pops up. You should have a starter add-in that works in both Excel versions.
The best place for Excel-DNA support is the Google group at https://groups.google.com/forum/m/#!forum/exceldna

VSTO add-in for Outlook 2016

I have a vsto add-in for outlook developed in Visual Studio 2010 (.NET 4.0), but now when I tried to add this add-in for Outlook 2016 it is showing invalid vsto add-in. My question is:
Can the VSTO solution developed in Visual Studio 2010/12 support in Outlook 2016?
If not then what's the alternate or if yes then what I am doing wrong here?
A VSTO add-in should be installed on the machine. At least you need to add the required windows registry entries to load the add-in, you can't just add it. See Registry Entries for Application-Level Add-Ins and Registry Entries for VSTO Add-ins for more information.
My question is 'Can the vsto solution developed in Visual Studio 2010/12 support in Outlook 2016?'
Yes, it can. See Running Solutions in Different Versions of Microsoft Office. It states the following:
Microsoft Office applications can also run solutions created by using previous versions of Visual Studio. In some cases, these solutions require different versions of the Visual Studio Tools for Office runtime. Different versions of the Visual Studio Tools for Office runtime can be installed side-by-side on the same computer.
I'd suggest creating an installer which can check for preprequsites if any, add the required windows registry keys and install the plug-in on the system.
You may find the following articles helpful:
Deploying an Office Solution by Using Windows Installer
Deploying an Office Solution by Using ClickOnce

convert an Excel 2010 addin to a 2007 addin (both VSTO)

I am currently working on an Excel 2010 add-in which formerly was an Excel 2007 add-in.
Somewhere in the process of switching computers, the add-in was converted i think.
Some of my customers stated that the add-in wasn't working on Excel 2007 anymore so I tried to debug it in a VirtualBox with Excel 2007 and Visual Studio 2010 installed.
Now I get the Error Message:
You cannot debug or run this project, because the required version of the Microsft Office application is not installed.
I started a new Excel 2007 add-in project and tried to find what the differences are and came up with the idea that it somewhat has to do with the dll's so I changed my 2010 addin until it looked like an 2007 addin.
I still get the error message stating that my project can't be debugged.
Is there anything I could've forgotten to change.
Writing a completely new addin is unfortunately not an option.
These questions haven't helped me so far:
Excel Addin that works on Excel 2007 and 2010
Deploying Office 2010 addin
To get VS 2010 working with Office 2007 modify the project file (.csproj) so that it will open in Office 2007 and not look for Office 2010 when run (hence the error message above).
Here is the project settings change (Excel example):
Source XPath:
//Project/ProjectExtensions/VisualStudio/FlavorProperties/ProjectProperties/#DebugInfoExeName
Old Value (Office 2010):
DebugInfoExeName="#Software\Microsoft\Office\14.0\Excel\InstallRoot\Path#excel.exe"
New Value (Office 2007):
DebugInfoExeName="#Software\Microsoft\Office\12.0\Excel\InstallRoot
\Path#excel.exe"
After changing this project setting, when you fire up the debugger (F5) it will load the Excel 2007 application instead of looking for Excel 2010.
Typically, when I am developing against multiple versions of Office with VSTO Add-ins, I have a project for each version of Office I am targeting. I put all common code between the projects into a single project (typically the oldest project) and use linked files, I add the common files to the newer projects. This allows me to write one set of common core code, abstracted from the requirements of each version of Office. This means I am no longer fighting the different ways VSTO is compiled for each version of Office. This can be made easier with shared folders and virtual machines, so I can develop and test without multiple computers. It is by no means graceful, but it works well for me. This should allow you to develop your VSTO Add-in against both Office 2007 and Office 2010 without much issue.

How to show the Outlook addin only after installation

I have developed a Outlook Addin using VSTO in Visual Studio 2010, on Windows XP/SP 3.
Build the VSTO solution, and I open Outlook 2010.
I see that the Add in has been installed. ( which is strange ).
Shut down Outlook.
Clean the VSTO solution 5) Open Outlook 2010, the add in is not
there.
So I believe Outlook understands that an Outlook add in is there, but I dont want the mentioned behaviour.
What am I looking for :-
I have created the installer using ClickOnce .
I should only see the Outlook addin , once I have executed the installer.
Any ideas shall be helpful.
When you build a VSTO addin, it gets automatically installed on your development machine. It is Visual Studio that is doing this for you, to make debugging easyer.
You can probably uninstall your addin automatically by using post-build events, but "Clean project" may be just as easy.

Categories