I am trying to use the Visio API to convert Visio documents to another format by using NetOffice.VisioApi.InvisibleApp and the Export method. This works as an interactive user, but so far not from IIS.
I am aware of the reasons given for why using Microsoft office automation is problematic from a server-side application. This is a program that would be run relatively infrequently. I can't use the OpenXML SDK for my program because the purpose is to render the Visio document as another image format.
Solutions using inkscape, for example, have created distorted images, which is why I am trying to use Visio which appears to render it's own documents well.
I've also read about people having success using NetOffice with Visio from IIS.
I first got a COMException with no message when running the program.
Then, I tried configuring the Identity to use to run Microsoft Visio 2003-2010 Drawing component to the user that installed Visio. Because that was a solution someone gave to a similar problem.
I have also added the IIS application pool to have permission to launch and activate Microsoft Visio 2003-2010 Drawing component in DCOM config, because this was the solution to an identity-related problem using a different object (word) from IIS.
With that configured, the error message is:
Exception: System.Runtime.InteropServices.COMException (0x8000401A): Retrieving the COM class factory for component with CLSID {000D0A26-0000-0000-C000-000000000046} failed due to the following error: 8000401a The server process could not be started because the configured identity is incorrect. Check the username and password. (Exception from HRESULT: 0x8000401A).
That CLSID appears to be the type
Microsoft.Office.Interop.Visio.InvisibleAppClass
Do you know how I can tell what is "incorrect" about the configured identity? Or, do you see a different problem that might be responsible for the error?
User contributions licensed under CC BY-SA 3.0