2010-11-19 4 views
1

Ich erhalte Berechtigungen verweigert, wenn Sie versuchen, ein COM-Objekt in asp zu erstellen. Das com-Objekt ist eine VB6-DLL, die registriert wurde. Procmon zeigt keine Berechtigungsfehler an. Ich habe dem AppPool-Benutzer und dem authentifizierenden Benutzer (IUSR) Berechtigungen für den Ordner erteilt, der die DLL enthält. Ich habe bemerkt, dass es einige Leute gibt, die dieses Problem mit keiner endgültigen Lösung haben. Bitte helfen Sie !!ASP Classic auf IIS7 Kann COM-Objekt nicht erstellen

+0

Welches Betriebssystem, 32 oder 64 Bits? – lsalamon

Antwort

0

Das erste, was Sie überprüfen sollten, ist, dass die Berechtigungen, die Sie dem Ordner zugewiesen haben, an die DLL kaskadiert sind. Ich habe ein paar Fälle gesehen, bei denen die DLL eine eigene unabhängige ACL hatte und nichts von ihrem Ordner erbte.

+0

Ich habe überprüft und die DLLs haben die erforderlichen Berechtigungen. Das Seltsame ist, dass ProcMon keine Berechtigungsfehler meldet. – yuben

+0

@yuben: Versuchen Sie, in VB6 eine do nothing-Klasse zu erstellen, und sehen Sie, ob Sie das instanzieren können. Ich frage mich, ob etwas in der Konstruktion des COM-Objekts (das ist in dem VB-Code) aufgrund von Berechtigungen fehlschlägt. – AnthonyWJones

0

In Procmon, können Sie ein erfolgreiches Lesen von HKLM \ Software \ Classes \ CLSID {YOUR_COMPONENT_CLASS_ID} sehen?

Möglicherweise haben Sie Probleme mit Rechten in Registrierungsschlüssel Ihrer Komponente zugeordnet.

Eine Liste der beteiligten Registrierungsschlüssel finden Sie unter msdn docs.

Beste

0

Vielen Dank für die Antworten. Ich arbeite jetzt daran. Es wurde mit einer anderen COM-DLL in Verbindung gebracht, die von der VB6-DLL aufgerufen wurde. Allerdings war ich in der Lage, VB6 von ASP/IIS6 zu betreten, aber das scheitert jetzt wieder mit einem Erlaubnisfehler. Ich werde dafür eine andere Frage stellen. Vielen Dank.