c# - Office Interop PowerPoint E_NOINTERFACE registry fault -
unable cast com object of type 'system.__comobject' event interface type 'microsoft.office.interop.powerpoint.presevents_event'. operation failed because queryinterface call on com component interface iid '{9826398e-2574-3edd-9717-a913ee28a41d}' failed due following error: 'no such interface supported (exception hresult: 0x80004002 (e_nointerface))' , com component not support source interface iid '{91493463-5a91-11cf-8700-00aa0060263b}'.
i have 2 smilar website convert pptx pdf. use same code , same dlls operation. 1 site used proff of concept , experimental other commercial.
experiamental 1 works other 1 has fault.
i use same code same dll never works
two of sites run on same application pool.
code convert :
var powerpointapp = new microsoft.office.interop.powerpoint.application(); var powerpointdocument = powerpointapp.presentations.open(@"c:\powerpoint.pptx", microsoft.office.core.msotristate.msotrue, //readonly microsoft.office.core.msotristate.msofalse, //untitled microsoft.office.core.msotristate.msofalse); //window not visible during converting powerpointdocument.exportasfixedformat(@"c:\newpdffile.pdf", microsoft.office.interop.powerpoint.ppfixedformattype.ppfixedformattypepdf); powerpointdocument.close(); //close document powerpointapp.quit(); stack trace:
system.stubhelpers.interfacemarshaler.converttomanaged(intptr punk, intptr itfmt, intptr classmt, int32 flags) +0
microsoft.office.interop.powerpoint.presentations.open(string filename, msotristate readonly, msotristate untitled, msotristate withwindow) +0
ab.hybrid.website.controllers.viewercontroller.tryconvert() +157
lambda_method(closure , controllerbase , object[] ) +62
system.web.mvc.actionmethoddispatcher.execute(controllerbase controller, object[] parameters) +14
system.web.mvc.reflectedactiondescriptor.execute(controllercontext controllercontext, idictionary2 parameters) +1562 parameters) +27
system.web.mvc.controlleractioninvoker.invokeactionmethod(controllercontext controllercontext, actiondescriptor actiondescriptor, idictionary
system.web.mvc.async.asynccontrolleractioninvoker.b__39(iasyncresult asyncresult, actioninvocation innerinvokestate) +22
system.web.mvc.async.wrappedasyncresult2.callenddelegate(iasyncresult asyncresult) +291.end() +49
system.web.mvc.async.wrappedasyncresultbase
system.web.mvc.async.asynccontrolleractioninvoker.endinvokeactionmethod(iasyncresult asyncresult) +34
system.web.mvc.async.asyncinvocationwithfilters.b__3d() +50 system.web.mvc.async.<>c__displayclass46.b__3f() +225 system.web.mvc.async.<>c__displayclass33.b__32(iasyncresult asyncresult) +10
system.web.mvc.async.wrappedasyncresult1.callenddelegate(iasyncresult asyncresult) +101.end() +49
system.web.mvc.async.wrappedasyncresultbase
system.web.mvc.async.asynccontrolleractioninvoker.endinvokeactionmethodwithfilters(iasyncresult asyncresult) +34
system.web.mvc.async.<>c__displayclass2b.b__1c() +26 system.web.mvc.async.<>c__displayclass21.b__1e(iasyncresult asyncresult) +100
system.web.mvc.async.wrappedasyncresult1.callenddelegate(iasyncresult asyncresult) +101.end() +49
system.web.mvc.async.wrappedasyncresultbase
system.web.mvc.async.asynccontrolleractioninvoker.endinvokeaction(iasyncresult asyncresult) +27
system.web.mvc.controller.b__1d(iasyncresult asyncresult, executecorestate innerstate) +13
system.web.mvc.async.wrappedasyncvoid1.callenddelegate(iasyncresult asyncresult) +361.end() +54
system.web.mvc.async.wrappedasyncresultbase
system.web.mvc.controller.endexecutecore(iasyncresult asyncresult) +39 system.web.mvc.controller.b__15(iasyncresult asyncresult, controller controller) +12
system.web.mvc.async.wrappedasyncvoid1.callenddelegate(iasyncresult asyncresult) +281.end() +54
system.web.mvc.async.wrappedasyncresultbase
system.web.mvc.controller.endexecute(iasyncresult asyncresult) +29
system.web.mvc.controller.system.web.mvc.async.iasynccontroller.endexecute(iasyncresult asyncresult) +10
system.web.mvc.mvchandler.b__5(iasyncresult asyncresult, processrequeststate innerstate) +21
system.web.mvc.async.wrappedasyncvoid1.callenddelegate(iasyncresult asyncresult) +361.end() +54
system.web.mvc.async.wrappedasyncresultbase
system.web.mvc.mvchandler.endprocessrequest(iasyncresult asyncresult) +31 system.web.mvc.mvchandler.system.web.ihttpasynchandler.endprocessrequest(iasyncresult result) +9
system.web.callhandlerexecutionstep.system.web.httpapplication.iexecutionstep.execute() +9651796 system.web.httpapplication.executestep(iexecutionstep step, boolean& completedsynchronously) +155
problem's actual reason based on interop dlls.
i changed "embed interop types false" powerpoint dll refenrance properties
finally worked charm
i guess 2 or more project used same dll embed option cause colision on
registry referance on windows , second 1 try register new key
fault mine
i hope helps
Comments
Post a Comment