Visual studio suggest to create different VSTO project for outlook 2010 and outlook 2013 like a picture. However my Addin for outlook 2010 also works and for 2013. Any body know about different in these approaches?
The difference is that Outlook 2010 interops will be used in the project. So, IntelliSense will not show you methods and properties introduced in latest (Outlook 2013) versions.
See Running Solutions in Different Versions of Microsoft Office for more information.
Related
I am working on making a Outlook Add-in for Outlook 2013. The issue is, I use Visual Studio 2010. I did some googling and found that I need the Developer Tool Kit and it lead me here. I installed the tool kit, but I am still not seeing any new Templates. What am I doing wrong, or what can I do to get that Outlook Add-in?
Thanks in advance!
Unfortunately VSTO allows creating version-specific add-ins. VSTO 2010 (Visual Studio 2010 Tools for Office Runtime) is shipped with Visual Studio 2010 Professional edition or above. It supports creation and editing of document- and application-level add-ins for Office 2007 and Office 2010. You need to use later Visual Studio versions for creating COM add-ins for Office 2013. However, you can run solutions in Office 2013 that were created in earlier Visual Studio versions, see Running Solutions in Different Versions of Microsoft Office for more information.
We need to develop add-in for the Office 2016. We are using the Visual studio 2013. It is only showing the Office 2013 add-in templates. Is it possible to create Office 2016 add-in from Visual studio 2013? If so, kindly let me know the steps.
You need VS 2015 to get the specific templates for Office 2016. VSTO only ever provides templates for "current" versions of Office.
If Office 2013 is installed you can develop an Add-in for it. There should be no problem installing and running it in Office 2016 - unless you want to use technology specific to 2016. In that case, you could use late-binding (PInvoke) for the 2016-specific portions, but debugging/testing would be a bit of a pain.
You can download the free Visual Studio 2015 Community edition (https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx) as well as the VSTO package (https://www.visualstudio.com/en-us/features/office-tools-vs.aspx): VSTO does integrate into the Community edition for version 2015 (and 2013, for that matter). Licensing restrictions would apply, of course.
Other than that, you'd need to upgrade to a full VS 2015.
You can develop and run Office 2016 addins in VS2013. No need to upgrade to VS2015.
Install VSTO 4.0 extension for VS2013
Create Office 2013 plugin using Visual Studio template
Open project file and replace office version string "15.0" to "16.0" in ProjectExtensions section. Look for this of similar string to edit:
OfficeVersion="15.0" VstxVersion="4.0" ApplicationType="Outlook" Language="cs" TemplatesPath="" DebugInfoExeName="#Software\Microsoft\Office\15.0\Outlook\InstallRoot\Path#outlook.exe"
Yes, it is possible. The add-in created in Visual Studio 2013 can be run in Office 2016. You can read more about that in the Running Solutions in Different Versions of Microsoft Office article.
In case if you need to use new methods and properties available only in Office 2016 you can use the Reflection mechanism (see Type.InvokeMember).
there is an example for Outlook, i tried it for Excel and it works as well.
my example:
<ProjectProperties HostName="Excel" HostPackage="{29A7B9D7-A7F1-4328-8EF0-6B2D1A56B2C1}" OfficeVersion="16.0" VstxVersion="4.0" ApplicationType="Excel" Language="vb" TemplatesPath="" DebugInfoExeName="#Software\Microsoft\Office\16.0\Excel\InstallRoot\Path#excel.exe" DebugInfoCommandLine="/x" AddItemTemplatesGuid="{DCFE8D25-4715-4C33-9EAB-A34A9EBC9544}" />
i changed
OfficeVersion="15.0"
to
OfficeVersion="16.0"
and the path to Excel
#Software\Microsoft\Office\16.0\Excel\
as well, finally it starts in Excel 2016...
Using visual studio 2013 I have written an outlook addin for office 2013 and this all works fine, however I now need to make it compatible for office 2010.
I thought I would create another project under the same solution which uses the office 2010 addin which all worked fine until I closed the solution and re-opened it and now it is saying it needs migrating.
If I migrate it, it changes the references to use office15 (instead of office14) so it is now essentially a copy of my original project.
Does anyone know how I can sort it to have the addin work for both office 2010 and 2013?
UPDATE:
Even when I create a new solution in VS2013 for an office 2010 addin, close and re-open the solution it is still asking me to migrate and then it converts to office 2013.
The add-in should work in earlier Office versions if you don't use new features (new properties and methods). But in most cases, you need to replace the interop assembly with the one which corresponds to Outlook. VSTO allows to run add-ins in different versions of Office. See Running Solutions in Different Versions of Microsoft Office
I have developed word addin 2010 using visual studio 2012. I have created setup file using below MSDN link.
http://msdn.microsoft.com/en-us/library/cc442767.aspx
When i run this for ofice 2010 or office 2013 it works fine but it doesn't work for office 2007.
I though it would be word addin issue so I have created word addin 2007 and still have issue.
Can somebody suggest what can be the issue?
Add-in functionality changed again between Office 2007 and 2010, to support new features like the changed UI (RibbonBar). The addin you created for Office 2010 uses features that did not exist in the Office 2007 apps (Word/Excel etc).
Office Add-ins are typically forward compatible only. That is future version of Office support older older plugins, but the opposite is simply not possible as new features get added all the time.
e.g.
Write an Office 2007 addin and it will likely work on Office 2007, Office 2010 and Office 2013.
Write an Office 2010 addin and it will likely work on Office 2010 and Office 2013.
Write an Office 2013 addin and it will likely only work on Office 2013.
Please note that while they "work" they will often look very old-fashioned as they typically use the older UI elements and not the latest version.
Create a 2007 add-in instead
If you really need Office 2007 support, you need to create a 2007 Add-in instead (as well?). Otherwise you will likely be using features that simply do not exist in Office 2007. The only possible (unlikely) alternative is to add Office 2010 DLLs to the machines, but as you are then effectively upgrading Office I doubt that is legal without a Office 2010 licence (so you might as well upgrade them anyway).
Try to attach to the project the Interop.Word dll of Word 2007.
Also exchange the Office Object Library dll 12- which comes along with Word 2007.
Hope this helps.
The Visual Studio 2013 documentation does not list Excel 2007 as one of the versions supported in the document-level customization solutions.
http://msdn.microsoft.com/en-us/library/aa942839.aspx
If I go the route of a document-level customization solution I will need it to be able to be deployed to Excel 2007 because that is the version of Office the users will have.
Do I need to develop in an earlier version of Visual Studio to get this to work? - or can I develop Excel 2007 document solutions in Visual Studio 2013? If so, will I need office 2007 installed on my development machine?
A similar question has been asked regarding Visual Studio 2012 below:
VSTO 2012: backward compatibility
Thanks!