This might help you Here's the solution I found: Put a folder called Desktop on C:\Windows\SysWOW64\config\systemprofile (Yes I know. WTF?) Open Regedit, Go to HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppId and edit the two enteries that have a Guid ending with 46. Delete every key they have and add a new key called RunAs with the value of Interactive User
Word Automation using microsoft word interop for a web application without an Interactive User
like below fixes the issue this solution applies when the Word Automation works when there is an interactive user. the steps hereunder are to change from interactive user to a specific user so there is not obligation to be connected to the server to allow the word automation to work. I created a new User on the server set a password and give it Administrator privileges. Click Start, click Run, and then type DCOMCNFG. in Component Services->Computers->My Computer ->DCOM config ==> right click Microsoft Word 97-2003. select Properties. in Security tab go to Edit and Add the user you created. in Identity select "This user" put the user you created and password.
C# COMException reading property of MSWord Shape object Microsoft.Office.Interop.Word
This might help you I am unsure why this worked, but I was able to resolve this issue by using the "Select" method of the shape. Once the shape is selected the majority of the properties that previously were throwing errors are populated. There are still approximately 20 properties that thow the error, but I am now able to access things like "AlternativeText","Name","Callout" which were previously throwing the error.
Word.Application WordApp = new Word.Application();
d = WordApp.Documents.Open(@strFilename, ReadOnly: true, Visible: false);
int iReplacements = 0;
int iReplacementNoLink = 0;
foreach (Word.Shape s in d.Shapes)
//if (s.Type == Microsoft.Office.Core.MsoShapeType.msoLinkedPicture)
if (s.LinkFormat.SourceName.ToString().Contains(".eps") || s.LinkFormat.SourceName.ToString().Contains(".png"))
if (s.AlternativeText != "" && s.AlternativeText != null)
catch (Exception fff)
System.Runtime.InteropServices.COMException when I run this Interop code with word