2
votes

I have Office 2016 preview installed on a Windows 7 (Ultimate edition) developer machine along with VS 2010. I have the following simple C# WinForms application that attempts to create a Word document through automation:

using Word = Microsoft.Office.Interop.Word;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            Word.Application word = new Word.Application(); // <- Causes exception
            ...
        }
}

The application generates the following error:

Additional information: Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046} failed due to the following error: 80080005 Server execution failed (Exception from HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE)).

Most search results for the error in question above involve cases where people are trying to run (earlier) versions of Office programs on actual servers.

Am I missing something?

PS: Office 2016 is itself a strange beast in that it has no entry in Add/Remove Programs, and its deployment tool only has options for selecting applications to exclude from downloading, and no option for repairing an existing installation.

1
If you previously had any other Office installed in that same Windows, there's a high probability that it wasn't completely uninstalled or became corrupt. I'd suggest you to uninstall any previous version if you have any as a first step. If problem persists, I'd suggest you to open the Registry Editor, go to HKLM\Typelib and search for "Interop", for each folder there should be only one folder inside, as each folder represent a version; for example: Word 8.5 > Office 2010, 8.6 > 2013Camilo Terevinto
@cFrozenDeath Thanks. I assume you mean HKEY_CLASSES_ROOT, not HKLM?Sabuncu
Ooops, yes, that's what I meantCamilo Terevinto
@cFrozenDeath Prior to the above error, I was getting an "Unable to cast COM object" error. As you mentioned, I fixed that by removing a superfluous "8.6" entry under a key for Word starting with "00020905-..." (these all end with 46!). That fixed that problem (I also referred to this answer: stackoverflow.com/a/12962795/360840 ), but immediately after, I started getting the above (server) error. I am guessing that Office 2016 thinks it is running on a server.Sabuncu
I have Windows 10, VS2015 and Office 2016 on my PC, which never had any other Office installed. Let me install Office tools and see what happensCamilo Terevinto

1 Answers

2
votes

I tried to mimic your system as much as possible, by creating a WinForms project and targeting .NET 4.0. I'm able to create a Word.Application object without any exception.
I'm pretty sure that you are getting the error due to a corrupt Windows Registry, likely corrupted by Office itself.

There are 3 more things you can do before giving up:

  1. Go here and follow the steps to clean up the Registry using scanreg /fix
  2. Uninstall every Office product, open the Registry and delete EVERY key related to Office, then install 2016 again (make sure to backup all your data first)
  3. Reinstall Windows.

I worked in an application support position where the application was very integrated with Excel and Word through add-ins, and I had to research and explain to the development team (another vendor) why this happened and how it can be solved in some cases.
Until I found step 1 above and the steps I told you in my first comment to your question, every single case was solved using step 3.