{"id":200721,"date":"2018-02-09T01:18:00","date_gmt":"2018-02-09T00:18:00","guid":{"rendered":"https:\/\/www.borncity.com\/blog\/?p=200721"},"modified":"2023-02-14T16:02:28","modified_gmt":"2023-02-14T15:02:28","slug":"windows-mysterium-in-registry-pfaden","status":"publish","type":"post","link":"https:\/\/borncity.com\/blog\/2018\/02\/09\/windows-mysterium-in-registry-pfaden\/","title":{"rendered":"Windows-Mysterium ? in Registry-Pfaden"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" style=\"float: left; margin: 0px 10px 0px 0px; display: inline\" src=\"https:\/\/borncity.com\/blog\/wp-content\/uploads\/2013\/03\/winb.jpg\" width=\"58\" align=\"left\" height=\"58\"\/>Heute noch ein Blog-Beitrag zu einem Mysterium, auf welches mich ein Blog-Leser angesprochen hat. Es gibt um das Fragezeichen, welches in der Registrierung in manchen Pfadangaben zu finden ist. <\/p>\n<p><!--more--><\/p>\n<h2>Worum geht es?<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"https:\/\/ssl-vg03.met.vgwort.de\/na\/11dc67db84e247108001bd6fe3901f30\" width=\"1\" height=\"1\"\/>Blog-Leser Johann V. kontaktierte mich mit einer seltsamen Beobachtung, die er k\u00fcrzlich gemacht hat. Hier seine Information.<\/p>\n<blockquote>\n<p>Ein Kunde von mir betreibt einen Windows Server 2012R2 mit aktuellem Patchstand. Auf diesem Server l\u00e4uft eine Telefoniesoftware der Telekom die \u00fcber IP mit einer Octopus FX Telefonanlage kommuniziert.  <\/p>\n<p>Nach der Installation der Telekom Telefoniesoftware fielen mir Fehler im Anwendungslog auf. Diese Eintr\u00e4ge zeigten an, dass der Windows Installer nach verschiedenen *.dll sucht und diese aber unter dem in der Windowsregistrierung, dem dazu geh\u00f6renden Schluessel und dem darin aufgef\u00fchrten Pfad nicht finden kann.  <\/p>\n<p>Ein Bespiel f\u00fcr solch ein Pfadangabe w\u00e4re C:\\?Windows\\SysWOW64\\msvcrt.dll  <\/p>\n<p>Was nach genauem Hinsehen auff\u00e4llt ist das ? in der Pfadangabe und die Erkenntnis, dass der Installer die dll nicht finden kann ist dann nicht weiter \u00fcberraschend. Nach weiterem Suchen war ich dann aber doch \u00fcberrascht das dieses ? in allen Registrierungsschluesseln und den entsprechenden Pfadangaben zu dll-Dateien gesetzt ist! Nicht nur f\u00fcr das Installationserzeichnis, dass f\u00fcr die Telefoniesoftware ist sondern auch im Windows\\SysWOW64 und z.B. auch im Windows\\System32.  <\/p>\n<p>Alleine das System32 hat \u00fcber die 3000 dll's und so wie es aussieht hat jeder Installer-Pfadeintrag dazu das ? beinhaltet.  <\/p>\n<p>Ich habe dann mit dem String C:\\? auf einem anderem 2012R2 gesucht und bin ebenfalls f\u00fcndig geworden. Danach hatte ich telefonisch einen Kollegen gebeten, mal auf seinem 2012R2 zu suchen und dieser wurde ebenfalls f\u00fcndig!  <\/p>\n<p>Google kann mir zu dem String C:\\? nichts sagen, denn er wei\u00df wohl nichts dazu&#8230;  <\/p>\n<p>Ist dieses ? vielleicht eine Art Wildcard oder ein Fehler oder was was bisher einfach keinem aufgefallen ist ?  <\/p>\n<p>Fakt ist, dass dieser oben beschriebene Server die Fehler im Anwendungslog nun nicht mehr hat und ich f\u00fcr meinen Teil nach Bereinigung der Registrierungspfade nun erstmal abwarten werde, ob die Maschine die n\u00e4chsten Tage stabil durchlaufen wird.<\/p>\n<\/blockquote>\n<p>Er meinte noch: Vielleicht w\u00fcrde ein Eintrag zu dieser die Sache mit dem ? in ihrem Blog zur Aufkl\u00e4rung beitragen \u2026  <\/p>\n<h2>Nicht bei meinem Windows 7-Client<\/h2>\n<\/p>\n<p>An dieser Stelle habe ich dann erst einmal geschluckt. Irgendwie war mir, als h\u00e4tte ich so etwas mit den Fragezeichen schon mal gesehen. Eine schnelle Suche unter Windows 7 mittels des Registrierungseditors ergab bei mir jedoch keine Treffer. Was es gibt, sind zwei Fragezeichen ?? in Schl\u00fcsseln wie:<\/p>\n<p>HKEY_LOCAL_MACHINE\\SYSTEM\\MountedDevices<\/p>\n<p>Ich habe dann diverse Suchmuster probiert und bin dann doch auf entsprechende Eintr\u00e4ge gesto\u00dfen. Nachfolgender Screenshot zeigt einen solchen Registrierungseintrag.<\/p>\n<p><img decoding=\"async\" title=\"Fragezeichen in der Registrierung in Eintr&auml;gen\" alt=\"Fragezeichen in der Registrierung in Eintr&auml;gen\" src=\"https:\/\/i.imgur.com\/Ky5Ie0R.jpg\"\/><\/p>\n<h2>Was wei\u00df das Internet?<\/h2>\n<p>Im Internet wurde ich bei einer Suche nach einer Erkl\u00e4rung sofort f\u00fcndig. In <a href=\"https:\/\/answers.microsoft.com\/en-us\/windows\/forum\/windows_7-performance\/in-windows-7-system-registry-shows-c-entries\/f8c5aa68-81b9-4ef0-a954-7fa2a9c26aae\" target=\"_blank\" rel=\"noopener noreferrer\">diesem MS Answers-Forenbeitrag<\/a> spricht ein Benutzer dies an. Normalerweise sollte dies kein Problem darstellen, aber es gibt auch Problemf\u00e4lle (<a href=\"https:\/\/community.flexerasoftware.com\/showthread.php?112434-Why-is-there-a-question-mark-in-my-registry-entry-path\" target=\"_blank\" rel=\"noopener noreferrer\">hier<\/a>, hier und hier (link https:\/\/community.flexerasoftware.com\/showthread.php?144659-Question-mark-in-path-quot-C-quot-instead-of-quot-C-quot kaputt)). Bei superuser.com wird diese Frage beispielsweise in <a href=\"https:\/\/superuser.com\/questions\/1069055\/what-is-the-function-of-question-marks-in-file-system-paths-in-windows-registry\" target=\"_blank\" rel=\"noopener noreferrer\">diesem Forenthread<\/a> angesprochen. <\/p>\n<ul>\n<li>Zwei Fragezeichen \\??\\ in Pfadangaben sind NT Object Manager-Objektnamen. Der Objektmanager organisiert viele verschiedene Arten von Systemressourcen (z.B. Ger\u00e4te, Speicherbereiche, Fensterstationen, Ereignisse) in einer baumartigen Struktur. <a href=\"https:\/\/reverseengineering.stackexchange.com\/questions\/3798\/c-question-marks-in-paths\" target=\"_blank\" rel=\"noopener noreferrer\">Hier<\/a> gibt es noch eine Erkl\u00e4rung dazu.  <\/li>\n<li>Ein Fragezeichen \\\\?\\ ist nur ein Platzhalter f\u00fcr das Laufwerk, auf dem die Ressource liegt.<\/li>\n<\/ul>\n<p>Microsoft hat ein Dokument <a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/windows\/desktop\/aa365247(v=vs.85).aspx\" target=\"_blank\" rel=\"noopener noreferrer\">Naming Files, Paths, and Namespaces (on MSDN)<\/a> ver\u00f6ffentlicht, welches eine Erkl\u00e4rung enth\u00e4lt. Die Windows-API besitzt viele Funktionen, die auch Unicode-Versionen bereitstellen, um einen erweiterten Pfad f\u00fcr eine maximale Gesamtpfadl\u00e4nge von 32.767 Zeichen zu erm\u00f6glichen. Dieser Pfadtyp besteht aus Komponenten, die durch umgekehrte Schr\u00e4gstriche getrennt sind, jeweils bis zu dem Wert, der im Parameter <em>lpMaximumComponentLength<\/em> der <em>GetVolumeInformation<\/em>-Funktion zur\u00fcckgegeben wird. Dieser R\u00fcckgabewert ist normalerweise 255 Zeichen lang. Um einen Pfad mit erweiterter L\u00e4nge anzugeben, wird das Pr\u00e4fix <a href=\"file:\/\/\\\\?\\a\">\\\\?\\a<\/a> verwendet. <\/p>\n<p>Wenn eine Software mit dieser Notation nichts anfangen kann, d\u00fcrfte es das Problem geben, dass der R\u00fcckgabewert nicht sauber interpretiert werden kann. Der Registrierungseintrag ist dann scheinbar falsch. Vielleicht hilft es einem Betroffenen weiter. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Heute noch ein Blog-Beitrag zu einem Mysterium, auf welches mich ein Blog-Leser angesprochen hat. Es gibt um das Fragezeichen, welches in der Registrierung in manchen Pfadangaben zu finden ist.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[301],"tags":[4325],"class_list":["post-200721","post","type-post","status-publish","format-standard","hentry","category-windows","tag-windows"],"_links":{"self":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts\/200721","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=200721"}],"version-history":[{"count":0,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts\/200721\/revisions"}],"wp:attachment":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/media?parent=200721"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/categories?post=200721"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/tags?post=200721"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}