I have already developed Oulook Add on using Visual Studio 2010 with VSTO
It works for OFFice 2007, 2010 and 2013
Now Office 2016 has been released. is the same application will work for 2016?
Is there any changes in VSTO and PIA Version for Office 2016? is those has been released?
if not when will be released? is there any web page to track the release?
If any, Whether i need to install those?
Appreciated for getting a development guidance in Office 2016
It doesn't matter what PIA version you use in the project. The add-in should work correctly until you use members introduced in newer Office versions. Read more about that in the Running Solutions in Different Versions of Microsoft Office article.
Note, you can use the late-binding technology for accessing properties, methods and events in newer Office versions even when using older PIAs. See Type.InvokeMember .
There is no separate installer for Office 2016 PIAs. You can install them as a part of Office 2016. See How to: Install Office Primary Interop Assemblies for more information.
Related
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.
I have an application which uses the Word and Excel interop references. I have a copy of MS Office 2003 and the client machines use Office 2007, and I get this prompt when clients try to install/run the application.
There are a few articles on this however the solutions either seemed specific to the particular issue or were just unresolved. How can I resolve this?
The referenced Office PIA must be installed and is therefor a requirement to this particular program.
This would happen if running any version of Office, say 2007, if the correctly versioned PIA was not installed. In any case, if the development machine has Office 2003 and the Office 14 PIAs this error would not occur because the "version 14" PIAs can be found in the development environment -- even if Office 2010 itself was not installed.
See the Office 2010 PIA redistributables. I think the "version 14" PIAs might be installed automatically with Office 2010, but I am not certain.
Keep in mind that using PIA methods/properties which are not supported by the wrapped COM for the particular Office version will throw a COMException at runtime. That is, even if the Office 2003 environment has the 2010 PIAs installed, using 2007+ features might cause other runtime issues.
Happy coding.
Can someone enlight me about the version bindings between VSTO and the targeted office version?
I am using VS2008 with VSTO 3.0 to build and deploy an addin for Outlook 2003. I am totally confused about what is required on the target machine:
VSTO 2005 SE runtime or VSTO 3.0 runtime?
.NET Framework 2.0 or 3.5
Primary Interop Assemblies from Office 2003 (I guess)
In the end I need to tell the IT department of the customer how to deploy the addin using their own script based deloyment system. They do not want to have an MSI package.
You would need the VSTO 3.0 runtime for Office 2007 and the VSTO 2005 SE for Office 2003.
Wikipedia has a good table of what links with what.
Let's say I am using SharpDevelop/VS to develop an app that uses PowerPoint.
Do I need to recompile the app so there is a build for each version of MS Office?
I have MS Office 2007, but I would also like the app to work with Office 2003 and later, without having to recompile the app for each version.
Do I just need to install the appropriate Office Interop redistributable package/msi on the client machine, and ship my app as is?
Thanks in advance for your help.
If you're using the Microsoft.Office.Interop libraries you just need the 2007 version, it will be backwards compatible with older docs
I have found that you should build against the oldest MS Office you have. We still use MS Office 2000.
The the thought behind this:
Everything MS Office 2000 can do any later version of MS Office can do.
A lot of things MS Office 2007 can do is impossible to do in earlier versions
of MS Office.
I absolutely agree with Nifle. Use the OLDEST ones you can find. If you use 2007, there is a very good chance it will not work with older versions.
Since I did not want to install the oldest Office version on my development PC, I used Virtual PC to create a "final build" environment. I develop with my regular PC then move the source files over to the Virtual PC with Office 2003 and VS installed, and create the final customer build there.
You will need to edit the CSPROJ file to reference the older Office libraries with this method. You can do that by just opening VS on the build virtual PC, removing the references to Office and adding them again.
Just to confirm this with anybody that is trying this. I have a .NET 4 project that references the 15.0 PowerPoint Interop library and the Office 15.0 library (Office 2013). I setup the project to "Embed the Interop Types".
I setup a virtual machine with Office 2007 Ultimate on and ran the application (without copying any additional DLLs). It correctly interacted with PowerPoint to extract the data my application was looking for.
The Interop libraries are backwards compatible from my experience.
When I try to create a Excel or Word workbook project in VS, I get the message:
A compatible version of Microsoft
Office is not installed on this
computer. You must install the
version of Office that is compatible
with your project. In addition,
repair the version of the Visual
Studio Tools for Office runtime that
is appropriate for your project by
running the installation program and
selecting the Repair option. The
runtime is available at the Microsoft
Download Center.
I have VS 2008 and Office 2003 Professional SP 3 installed. I did a full install of Office,
and it looks like the Interop DLLs are in the GAC. I am creating an Office 2003 project. I tried the steps from VSTO problem - cannot create visual studio excel workbook project. I repaired VS 2008 from the disk after installing Office 2003 Pro. I had Office 2003 Standard installed earlier, but I removed it before installing Office 2003 Pro. I am able to create add-ins. Any ideas?
Office 2k3 Standard is not compatible with VSTO; upgrading from 2k3 standard has likely left something in your registry.
This thread suggests that even moving to 2k7 doesn't give compatibility in this case! How about creating a new user profile?
The following steps worked:
1) Unistall Office Pro, reboot and reinstall.
2) Repair VS 2008 from disk.
I was also having the same prob but I installed office2003 sp3 and now its working fine