{"id":1891,"date":"2011-01-27T12:21:00","date_gmt":"2011-01-27T07:21:00","guid":{"rendered":"http:\/\/www.borncity.com\/blog\/2011\/01\/27\/shell-fehler-schnittstelle-nicht-untersttzt\/"},"modified":"2024-08-09T21:09:40","modified_gmt":"2024-08-09T19:09:40","slug":"shell-fehler-schnittstelle-nicht-untersttzt","status":"publish","type":"post","link":"https:\/\/borncity.com\/blog\/2011\/01\/27\/shell-fehler-schnittstelle-nicht-untersttzt\/","title":{"rendered":"Shell-Fehler &ldquo;Schnittstelle nicht unterst&uuml;tzt&rdquo;"},"content":{"rendered":"<p>In letzter Zeit fallen mir Hilferufe von Anwendern auf, bei denen die Windows-Shell \u00c4rger macht. Beim Versuch, eine Funktion auszuf\u00fchren, kommt die Fehlermeldung \"Schnittstelle nicht unterst\u00fctzt\". Sucht man im Internet einmal nach dem Begriff \"Schnittstelle nicht unterst\u00fctzt\", gibt es sehr viele Treffer [3], aber zu unterschiedlichen Programmen und Funktionen. Der Beitrag skizziert, was dahinter steckt und wie man das Problem ggf. l\u00f6sen kann. <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/ssl-vg03.met.vgwort.de\/na\/10e5b2ef42464500b53cb7f2c537e136\" alt=\"\" width=\"1\" height=\"1\" \/><\/p>\n<p><!--more--><\/p>\n<p><strong>Was bedeutet die Fehlermeldung?<\/strong><\/p>\n<p>Der tiefere Hintergrund f\u00fcr die Fehlermeldung h\u00e4ngt damit zusammen, wie bestimmte Funktionen in Programmen oder in Windows implementiert sind. Windows\u00a0 stellt viele Funktionen \u00fcber eine COM-Schnittstelle global zur Verf\u00fcgung. Programme k\u00f6nnen dann auf diese Funktionen (die in der objektorientierten Programmierung als Methoden bezeichnet und durch Objektinstanzen bereitgestellt werden) zugreifen.<\/p>\n<p>Um aber eine Methode \u00fcber die COM-Schnittstelle verwenden zu k\u00f6nnen, muss das Programm nachfragen, ob die Methode die gew\u00fcnschten Schnittstellen (diese beschreiben den Namen der Methode, die \u00dcbergabeparameter, deren Reihenfolge, die Datentypen der Parameter etc.) bereitstellt. Wird eine solche Anfrage gestartet und findet Windows bei der Abfrage der COM-Schnittstellen (oder in den Assemblys von .NET-Anwendungen) keine entsprechende Schnittstellenbeschreibung, l\u00f6st dies eine entsprechende Fehlermeldung aus.<\/p>\n<p>Eine Ursache f\u00fcr eine nicht unterst\u00fctzte Schnittstelle k\u00f6nnen \u00fcberschriebene bzw. besch\u00e4digte Bibliotheksdateien sein (.dll-Dateien wurden durch andere, \u00e4ltere, Versionen ersetzt). Wenn aber nichts neu installiert wurde und der Fehler pl\u00f6tzlich auftritt, spricht vieles daf\u00fcr, dass die Registrierung der COM-Objekte besch\u00e4digt ist. Dann l\u00e4sst sich der betreffende COM-Server nicht mehr ansprechen.<\/p>\n<p><strong>Integrit\u00e4tspr\u00fcfung auf besch\u00e4digte Systemdateien durchf\u00fchren<\/strong><\/p>\n<p>Der erste Ansatz bei einem solchen Fehler sollte eine Integrit\u00e4tspr\u00fcfung auf besch\u00e4digte Systemdateien sein.<\/p>\n<ol>\n<li>Geben Sie <em>cmd <\/em>im Suchfeld des Startmen\u00fcs ein und dr\u00fccken Sie Strg+Shift+Enter.<\/li>\n<li>Best\u00e4tigen Sie die Sicherheitsabfrage der Benutzerkontensteuerung und warten Sie, bis die administrative Eingabeaufforderung erscheint.<\/li>\n<li>Geben Sie im Fenster der Eingabeaufforderung den folgenden Befehl ein:<em>sfc \/scannow<\/em><\/li>\n<\/ol>\n<p>Die Pr\u00fcfung durch den Ressourcenschutz dauert einige Zeit. Im Idealfall findet <em>sfc <\/em>besch\u00e4digte Dateien und kann diese auch reparieren. Wenn das System nach einem Neustart wieder funktioniert, haben Sie gewonnen.<\/p>\n<p>Werden besch\u00e4digte, aber nicht reparierbare, Dateien gefunden? Das Programm <em>sfc <\/em>erstellt eine Protokolldatei <em>CBS.log <\/em>und gibt einen entsprechenden Hinweis, wo die Datei zu finden ist. Bei einer oder zwei Dateien lassen sich diese ggf. mit Programmen wie 7-ZIP aus den WIM-Dateien der Windows 7 Setup-DVD extrahieren und mittels eines gebooteten Windows PE in die Windows-Ordner schieben. Andernfalls w\u00e4re die weiter unten skizzierte Reparaturinstallation angesagt.<\/p>\n<p>Findet <em>sfc <\/em>dagegen keine besch\u00e4digten Ressourcen, kann die Ursache auch in besch\u00e4digten Registrierungseintr\u00e4gen zu finden sein. Dann sollten Sie die folgenden Abschnitte durcharbeiten.<\/p>\n<p><strong>Wenn die Schnittstelle in Office nicht registriert ist<\/strong><\/p>\n<p>Benutzer \u00e4lterer Versionen von Outlook oder anderer Office-Anwendungen werden gelegentlich mit der Fehlermeldung \"Schnittstelle nicht registriert\" konfrontiert. In diesem Fall kann die Registrierung der Datei <em>Ole32.dll<\/em> besch\u00e4digt sein. Diese Bibliothek stellt viele zentrale Methoden zur Automatisierung bereit.<\/p>\n<ol>\n<li>Abhilfe schafft, <em>cmd <\/em>im Suchfeld des Startmen\u00fcs einzutippen, die Tastenkombination Strg+Shift+Enter zu dr\u00fccken und die Abfrage der Benutzerkontensteuerung zu best\u00e4tigen.<\/li>\n<li>Anschlie\u00dfend ist im Fenster der Eingabeaufforderung der folgende Befehl einzugeben.<em>Regsvr32.exe %Windir%\\System32\\Ole32.dll<\/em><\/li>\n<li>Best\u00e4tigen Sie das Dialogfeld, das den Erfolg der Aktion anzeigt, \u00fcber die OK-Schaltfl\u00e4che.<\/li>\n<\/ol>\n<p>Danach sollte ein Neustart von Windows 7 durchgef\u00fchrt und dann das System getestet werden. Microsoft hat zu diesem Problem einen eigenen Artikel [<a href=\"http:\/\/support.microsoft.com\/default.aspx?scid=kb;de;870707\" target=\"_blank\" rel=\"noopener\">4<\/a>] in der Knowledge-Base ver\u00f6ffentlicht. Der obige Ansatz sollte daher auf jeden Fall bei Auftreten des Fehlers getestet werden. Hilft dies nicht, f\u00fchren Sie die nachfolgenden Reparaturanweisungen aus.<\/p>\n<p><strong>Abhilfe schaffen, so kann es gehen<\/strong><\/p>\n<p>Solange die .dll-Dateien noch intakt und in der ben\u00f6tigten Form unter Windows vorliegen, kann man als Administrator versuchen, die Registrierung der Bibliotheksdateien mit den COM-Objekten erneut durchzuf\u00fchren. Die Bibliotheksdateien liegen meist als .dll-Dateien im Windows-Ordner, in <em>system32<\/em>, im Programmordner<em>\u00a0<\/em>(und ggf. in anderen Unterordnern) vor. Problem ist, dass meist nicht bekannt ist, welche DLL da \u00c4rger bereitet.<\/p>\n<p>Unter [<a href=\"http:\/\/www.joejoe.org\/forum\/topic\/18364-no-such-interface-supported-error\/page__st__20\" target=\"_blank\" rel=\"noopener\">1<\/a>] findet sich eine ganz spannende Diskussion zu diesem Thema. Ein Ansatz besteht darin, sich \u00fcber den <em>dir<\/em>-Befehl alle DLL-Dateien auflisten zu lassen. Die Liste wird dann in eine Datei umgeleitet und in aufbereiteter Form als .bat-Datei gespeichert. Der Benutzer goolem schl\u00e4gt vor, den folgenden Befehl:<\/p>\n<p><em>FOR \/R C:\\ %G IN (*.dll) DO \"%systemroot%\\system32\\regsvr32.exe\" \/s \"%G\" <\/em><\/p>\n<p>(der Befehl muss in einer Zeile stehen) in eine .bat-Datei zu speichern. Die <em>.bat<\/em>-Datei kann mit dem Windows-Editor erstellt werden. Dies halte ich f\u00fcr eine recht elegante L\u00f6sung, die man auf jeden Fall versuchen kann.<\/p>\n<p>Die FOR-Anweisung sorgt daf\u00fcr, dass die im Ausdruck \"IN (*.dll)\" gefundenen (d. h. zum Filter passenden) DLL-Dateien durch Wiederholen abgearbeitet werden. Bei jedem Durchlauf wird der Dateiname in der Schleifenvariablen <em>%G<\/em> gespeichert. Der Schalter <em>\/R <\/em>bewirkt das rekursive Durchlaufen aller Verzeichnisse, ausgehend vom Stammverzeichnis (hier das Systemlaufwerk <em>C:\\<\/em>).<\/p>\n<p>Der Befehlsteil hinter <em>DO<\/em> wird dann mit jedem gefundenen Treffer ausgef\u00fchrt. Konkret wird <em>regsvr32.exe <\/em>aufgerufen und die in %G enthaltene DLL-Datei neu registriert. Der Schalter \/s bewirkt eine \"silent\" Registrierung der Komponente ohne weitere Meldungen.<\/p>\n<p>Der Administrator kann dann die Batchdatei (z. B. <em>COMRepair.bat<\/em>) per Rechtsklick anw\u00e4hlen und \u00fcber den Kontextmen\u00fcbefehl <em>Als Administrator ausf\u00fchren <\/em>starten. Nach best\u00e4tigen der Sicherheitsabfrage der Benutzerkontensteuerung sollte die Neuregistrierung durchlaufen. Mit etwas Gl\u00fcck werden dann alle fehlerhaften COM-Komponenten registriert und nach einem Neustart sollte der Fehler \"Schnittstelle nicht unterst\u00fctzt\" weg sein.<\/p>\n<p>Andernfalls liegt ein DLL-Versionskonflikt vor, oder die Reparatur hat nicht auf die vorgesehene Weise funktioniert. Bei letzterem w\u00e4re noch eine Reparaturinstallation durch Inplace Upgrade [<a href=\"http:\/\/www.drwindows.de\/windows-anleitungen-und-faq\/15634-windows-7-reparaturinstallation-windows-7-inplace-upgrade.html\" target=\"_blank\" rel=\"noopener\">2<\/a>] ins Auge zu fassen.<\/p>\n<p>F\u00fcr mich bleibt nun die abschlie\u00dfende Frage, welche Anwendungen diesen Fehler verursachen. Da dies bei mir noch nie aufgetreten ist, kann ich nur raten. Aus diversen Fundstellen dr\u00e4ngt sich der Verdacht auf, dass Virenscanner und Internet Security-L\u00f6sungen beteiligt sein k\u00f6nnen.<\/p>\n<p><strong>Links:<br \/>\n<\/strong>1: <a href=\"http:\/\/www.joejoe.org\/forum\/topic\/18364-no-such-interface-supported-error\/page__st__20\" target=\"_blank\" rel=\"noopener\">Diskussion zur Neuregistrierung von COM-Objekten<\/a><br \/>\n2: <a href=\"http:\/\/www.drwindows.de\/windows-anleitungen-und-faq\/15634-windows-7-reparaturinstallation-windows-7-inplace-upgrade.html\" target=\"_blank\" rel=\"noopener\">Windows 7-Reparatur durch Inplace-Upgrade<\/a> (Dr. Windows)<br \/>\n3: Google-Treffer zum Problem<br \/>\n4: <a href=\"http:\/\/support.microsoft.com\/default.aspx?scid=kb;de;870707\" target=\"_blank\" rel=\"noopener\">MS-Knowledge-Base-Artikel zu Outlook<\/a><br \/>\n5: MS-Forendiskussion zum Schnittstellenproblem<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In letzter Zeit fallen mir Hilferufe von Anwendern auf, bei denen die Windows-Shell \u00c4rger macht. Beim Versuch, eine Funktion auszuf\u00fchren, kommt die Fehlermeldung \"Schnittstelle nicht unterst\u00fctzt\". Sucht man im Internet einmal nach dem Begriff \"Schnittstelle nicht unterst\u00fctzt\", gibt es sehr &hellip; <a href=\"https:\/\/borncity.com\/blog\/2011\/01\/27\/shell-fehler-schnittstelle-nicht-untersttzt\/\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[242,11],"tags":[550,551],"class_list":["post-1891","post","type-post","status-publish","format-standard","hentry","category-installation","category-problemlosung","tag-com-fehler","tag-regsvr32"],"_links":{"self":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts\/1891","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/comments?post=1891"}],"version-history":[{"count":0,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts\/1891\/revisions"}],"wp:attachment":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/media?parent=1891"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/categories?post=1891"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/tags?post=1891"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}