Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Question
Wednesday, October 28, 2015 12:04 AM | 1 vote
After installing Office 2016 on six machines I've been running into Trouble on visual Studio 2015 during debugging Excel vb.net Automation.
There'S no type library 16 nor corresponding PIA.
Die Version for Office 15 is still there but not usable 'cause Office 2013 get uninstalled after installing Office 2016.
Any ideas?
THX in advance
All replies (14)
Wednesday, October 28, 2015 1:40 AM
Hi,
This is the forum to discuss questions and feedback for Microsoft Excel, I'll move your question to the MSDN forum for Excel
http://social.msdn.microsoft.com/Forums/en-US/home?forum=exceldev&filter=alltypes&sort=lastpostdesc
The reason why we recommend posting appropriately is you will get the most qualified pool of respondents, and other partners who read the forums regularly can either share their knowledge or learn from your interaction with us. Thank you for your understanding.
George Zhao
TechNet Community Support
Please mark the reply as an answer if you find it is helpful.
If you have feedback for TechNet Support, contact [email protected].
Wednesday, October 28, 2015 7:44 AM
Try to repair Office and make sure that the .NET Programmability Support feature is selected for the applications you want to extend (this feature is included in the default installation). See How to: Install Office Primary Interop Assemblies for more information.
Wednesday, October 28, 2015 9:52 AM
Thx Eugene
but you know that it is about Office 2016?
The installer isn't providing such a feature like the old one to select subfeatures or my MSDN O2K16 Installer is a special one which allows only all the others to select the framwork assemblies :-)
Best regards
Chris
Wednesday, October 28, 2015 11:29 AM
Chris,
I can see Office 2016 type libraries on the COM references tab in VS. Looks like you need to repair Office anyway.
Wednesday, October 28, 2015 11:48 AM
That's very intersting 'cause I cannot found the "Primary interop Libs" on six developer machines.
Funny if they're all with the same Problem. I've tried an repair but nothing has changed.
In another MS internal group Michael told me that the latest PIAs are from Office 2013 so I'm wondering how you can find the 2016 PIA. ('til 2013 you can load also the PIAs as a standalone package which isn't available for 2016 ,-))
So nothing hat changed - in the meantime my collegue has tried to repair Office 2016 on his Notebook (also with Visual Studio 2015) - same Problem there...
Any suggestions?
Thx in advance.
Wednesday, October 28, 2015 11:54 AM
The required interop files are generated by VS when you add a COM reference to the Office application. Did you try to add a COM reference for the Office application in a VS project?
Wednesday, October 28, 2015 12:02 PM
I've called another developer in Munich which has the same Problem.
There are not Excel 16.0 oder Office 16.0 Objects.
Only the Word 16 Object Library is there which is not the same as the interop assembly.
(see both Pictures pls. The second one Shows up the interops for Office 14 and 15, not for 16)
(second pic follows)
Wednesday, October 28, 2015 12:05 PM
As you can see - there're the interops for Office 2010/2013 but not for 2016...
Wednesday, October 28, 2015 12:16 PM | 1 vote
Again, did you try to look at the COM references tab?
The required interop files will be generated for you automatically by VS.
Wednesday, October 28, 2015 12:31 PM
Hi Eugene,
maybe there is some misunderstanding but I've no glue at the Moment. The Object Library is nice - but note the same as the Primary Interops
Let's say I'll Import the Excel OPs
Imports Microsoft.Office.Interop.Excel
Can't do that now. Is there a place where we can read something more about the way you mentioned?
That would be great 'cause I've found a lot of same questions about the interop assemblies and many People they don't know how to work that Problem out...
Thx Chris
Wednesday, October 28, 2015 1:08 PM
Chris,
Interop files are used for marshaling method and property calls to the unmanaged world (COM server). Interops can be generated on the fly. For example, to get interops you can add a com reference or download them from the Microsoft's web site (if any). See How to automate Microsoft Excel from Visual Basic .NET for more information.
Wednesday, October 28, 2015 1:40 PM
Hey Eugene,
thank you very much for clarifiying Office automation.
I believe I've totally misunderstood what PIA for and why there're PIAs as redistributable packages available.
The only thing which makes me a little more relieved is that a lot of people having the same problem to understand how it works :-)
I'll take a deep look into the given link.
Best regards
Chris
Wednesday, October 28, 2015 6:16 PM | 1 vote
The difference between PIAs that are visible for ".NET" and those in the COM tab is a function of the version of Visual Studio + version of Office when VS was released. Visual Studio includes the PIAs for the version of Office current at release. These are saved in a VS folder.
But Office, itself, installs its own set of PIAs (by default, but it can be turned off) to the GAC. These are the PIAs accessed via the COM tab. You don't access the COM object libraries, even though it looks that way - you access the PIAs in the GAC.
This is confusing for developers and I, personally, am not a fan of creating the reference to the VS folder. I always create references to the PIAs in the GAC.
If you don't find entries in the COM tab it's possible that the option was disabled during Office Setup. In that case, Setup needs to be run again with the option enabled. This is true on both the developer and the client machines.
Cindy Meister, Office Developer/Word MVP, <a href="http://blogs.msmvps.com/wordmeister"> my blog</a>
Monday, November 30, 2015 7:13 PM
Cindy,
You are on the wrong avenue...
> If you don't find entries in the COM tab it's possible that the option was disabled during Office Setup.
You can generate PIAs for COM servers (Office applications) even if they are not installed with Office. The tlbimp.exe utility can be used for that. You just need to use the /primary parameter.
There is no need to rely on Visual Studio or GAC. You can get your own interops :)