Just nu i M3-nätverket
Gå till innehåll

Problem med att använda powerpoint från asp.net


viktor9990

Rekommendera Poster

från min code i asp.net försöker jag öppna en powerpoint presentation och spara det till html.Det funkade bra på min dator(efter en ändring i DCOM lokalt) men på servern fick jag detta felmeddelande:

Vilka ändringar måste jag göra på servern?Tack

 

Unspecified error

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

 

Exception Details: System.Runtime.InteropServices.COMException: Unspecified error

 

Source Error:

 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

 

Stack Trace:

 

 

[COMException (0x80004005): Unspecified error]

PowerPoint.Presentations.Open(String FileName, MsoTriState ReadOnly, MsoTriState Untitled, MsoTriState WithWindow) +0

Upload.Omvandla()

Upload.BtnSubmit_ServerClick(Object sender, EventArgs e)

System.Web.UI.HtmlControls.HtmlInputButton.OnServerClick(EventArgs e) +108

System.Web.UI.HtmlControls.HtmlInputButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +57

System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18

System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33

System.Web.UI.Page.ProcessRequestMain() +1292

 

Länk till kommentar
Dela på andra webbplatser

Magnus Ahlkvist

En dum fråga:

Är powerpoint installerat på servern?

--

Snäll ibland. Rättvis nästan jämt. Elak för det mesta.

 

Länk till kommentar
Dela på andra webbplatser

viktor9990

Ja, PowerPoint är installerad på servern, men problemet verkar vara att man skall ge PowerPoint vissa rättigheter på servern och jag vet inte hur man gör detta.

/Viktor

 

Länk till kommentar
Dela på andra webbplatser

Magnus Ahlkvist

Och du har gjort motsvarande ändring i COM+-config på servern?

--

Snäll ibland. Rättvis nästan jämt. Elak för det mesta.

 

Länk till kommentar
Dela på andra webbplatser

viktor9990

Jag har gjort motsvarande ändring i mappen DCOM-configuration på servern. Mappen COM+-tillämpningar har jag inte rört varken lokalt eller på servern. Skall jag göra någon ändring där också? Tack

/Viktor

 

Länk till kommentar
Dela på andra webbplatser

Magnus Ahlkvist

har du satt rättigheter på mappen där dokumentet ligger, så att aspnet-usern har läs (och eventuellt skriv)-rättigheter i den mappen?

Försöker febrilt finna var någonstans jag gjorde ändringar när jag hade svårt att instantiera Excel ifrån en IIS-applikation, men finner det inte just nu. Någonstans i Component Services-snapinen, om man högerklickar på "My computer" i trädstrukturen finns inställningar som måste se rätt ut för att det ska funka att köra igång Excel och andra Office-program ifrån IIS.

--

Snäll ibland. Rättvis nästan jämt. Elak för det mesta.

 

Länk till kommentar
Dela på andra webbplatser

viktor9990

Ja. Jag har satt rättigheter på mappen där dokumentet ligger, så att aspnet-usern har läs och skrivrättigheter i den mappen. För att komma till Component Services så tog jag:

Start: Run och skrev: dcomcnfg och då kom jag dit. jag har där (på servern)samma inställningar som min lokala hårddisk men ändå funkar det inte.

Nedan kan du se min kod:

Felet händer på raden där man öppnar presentationen när jag kör på servern :(System.NullReferenceException: Object reference not set to an instance of an object.). Lokalt funkar det utan problem. Kan felet vara någon sökväg i min kod nedan?

 

private void Omvandla()

{

try

{

//Create the PowerPoint application object

_Application app = new PowerPoint.ApplicationClass();

//Make the application visible otherwise you will get an error message

app.Visible =Microsoft.Office.Core.MsoTriState.msoTrue;

 

//The path to the folder where the presentation will be saved in the original format (PowerPoint)

string presentationPath = Server.MapPath("/LaikaTeleMeeting/admin/Files/") + ViewState["strFileNameOnly"];

 

//Open the PowerPoint presentation

app.Presentations.Open(presentationPath, MsoTriState.msoFalse, MsoTriState.msoFalse, MsoTriState.msoTrue);

 

catch (Exception ex)

{

LblError.Text = ex.InnerException.ToString();

}

}

}

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...