{"id":651,"date":"2010-09-16T20:03:30","date_gmt":"2010-09-16T19:03:30","guid":{"rendered":"http:\/\/blog.m-ri.de\/?p=651"},"modified":"2010-09-13T22:01:45","modified_gmt":"2010-09-13T21:01:45","slug":"warum-unter-vista-und-windows-7-cprogramme-nicht-genau-das-selbe-ist-wie-cprogram-files","status":"publish","type":"post","link":"http:\/\/blog.m-ri.de\/index.php\/2010\/09\/16\/warum-unter-vista-und-windows-7-cprogramme-nicht-genau-das-selbe-ist-wie-cprogram-files\/","title":{"rendered":"Warum unter Vista und Windows 7 C:\\Programme nicht genau dasselbe ist wie C:\\Program Files"},"content":{"rendered":"<p>Jeder kennt von <em>Windows Vista <\/em>und <em>Windows 7 <\/em>die <em>Junctions<\/em> <em>&#8222;C:\\Programme&#8220;<\/em> oder <em>&#8222;C:\\Dokumente und Einstellungen&#8220;<\/em>.<br \/>\nDiese Verweise erlauben es auch \u00e4lteren Programmen die evtl. hardcodierte Verzeichnisnamen haben oder auch Programmen, die die alten Verzeichnisstrukturen von <em>Windows 2000<\/em> und <em>XP<\/em> nutzen korrekt zu arbeiten.<\/p>\n<p>Jetzt k\u00f6nnte man meinen, dass es vollkommen egal ist ob man nun <em>&#8222;C:\\Programme&#8220;<\/em> oder <em>&#8222;C:\\Program Files&#8220;<\/em> benutzt.<br \/>\nAber das ist es nicht \u2757 Es gibt ein paar ganz feine Unterschiede.<\/p>\n<p>Ein simpler <em>DIR<\/em> auf der Befehlszeile<\/p>\n<pre lang=\"cmd\">C:\\&gt;dir C:\\Programme\r\n\u00a0Datentr\u00e4ger in Laufwerk C: ist C-LAPTOP\r\n\u00a0Volumeseriennummer: D483-432C\r\n\r\n\u00a0Verzeichnis von C:\\Programme\r\n\r\nDatei nicht gefunden<\/pre>\n<p>macht das Problem offensichtlich!<br \/>\nUnd was geht hier ab?<\/p>\n<p>Die Antwort liefert ICACLS f\u00fcr die Junction:<\/p>\n<pre lang=\"cmd\">C:\\&gt;icacls C:\\Programme\r\nC:\\Programme <strong>Jeder:(DENY)(S,RD)<\/strong>\r\n             Jeder:(RX)\r\n             NT-AUTORIT\u00c4T\\SYSTEM:(F)\r\n             ORDEFINIERT\\Administratoren:(F)<\/pre>\n<p>Dagegen zeigt ICACLS f\u00fcr das Verzeichnis selbst<\/p>\n<pre lang=\"cmd\">C:\\&gt;icacls \"C:\\Program Files\"\r\nC:\\Program Files NT SERVICE\\TrustedInstaller:(F)\r\n                 NT SERVICE\\TrustedInstaller:(CI)(IO)(F)\r\n                 NT-AUTORIT\u00c4T\\SYSTEM:(M)\r\n                 NT-AUTORIT\u00c4T\\SYSTEM:(OI)(CI)(IO)(F)\r\n                 VORDEFINIERT\\Administratoren:(M)\r\n                 VORDEFINIERT\\Administratoren:(OI)(CI)(IO)(F)\r\n                 VORDEFINIERT\\Benutzer:(RX)\r\n                 VORDEFINIERT\\Benutzer:(OI)(CI)(IO)(GR,GE)\r\n                 ERSTELLER-BESITZER:(OI)(CI)(IO)(F)<\/pre>\n<p>W\u00e4hrend man auf &#8222;C:\\Program Files&#8220; die Rechte sieht, die man auch erwartet, liegt auf der Junction selbst eine Einschr\u00e4nkung:<br \/>\nDie Berechtigung zum &#8222;Ordner Auflisten&#8220; wird verweigert f\u00fcr &#8222;Jeder&#8220; \u2757<br \/>\nJeder der neu eingef\u00fchrten Junctions hat diese Einschr\u00e4nkung.<\/p>\n<p>Meines Erachtens wurde dies gemacht um beim Durchsuchen von Verzeichnisstrukturen nicht unendliche Rekursionen zu erzeugen oder Verzeichnisse oder Dateien doppelt aufzuf\u00fchren.<br \/>\nEine Verzeichnis Rekursion erg\u00e4be sich zum Beispiel durch die Junction <em>Anwendungsdaten<\/em> im Verzeichnis <em>C:\\Users\\Username\\AppData\\Local<\/em>, der exakt wieder auf das Verzeichnis <em>C:\\Users\\Username\\AppData\\Local <\/em>verweist.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Jeder kennt von Windows Vista und Windows 7 die Junctions &#8222;C:\\Programme&#8220; oder &#8222;C:\\Dokumente und Einstellungen&#8220;. Diese Verweise erlauben es auch \u00e4lteren Programmen die evtl. hardcodierte Verzeichnisnamen haben oder auch Programmen, die die alten Verzeichnisstrukturen von Windows 2000 und XP nutzen korrekt zu arbeiten. Jetzt k\u00f6nnte man meinen, dass es vollkommen egal ist ob man nun &hellip; <a href=\"http:\/\/blog.m-ri.de\/index.php\/2010\/09\/16\/warum-unter-vista-und-windows-7-cprogramme-nicht-genau-das-selbe-ist-wie-cprogram-files\/\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eWarum unter Vista und Windows 7 C:\\Programme nicht genau dasselbe ist wie C:\\Program Files\u201c <\/span>weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[3,12,14,17,91,188,2],"tags":[358,61,186],"class_list":["post-651","post","type-post","status-publish","format-standard","hentry","category-programmieren","category-software","category-vista","category-vista-2","category-windows-software","category-windows-7-software","category-windows-api","tag-vista","tag-winapi","tag-windows-7"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts\/651","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/comments?post=651"}],"version-history":[{"count":1,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts\/651\/revisions"}],"predecessor-version":[{"id":676,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts\/651\/revisions\/676"}],"wp:attachment":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/media?parent=651"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/categories?post=651"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/tags?post=651"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}