{"id":822,"date":"2011-04-13T17:35:55","date_gmt":"2011-04-13T15:35:55","guid":{"rendered":"http:\/\/blog.m-ri.de\/?p=822"},"modified":"2011-04-17T10:40:30","modified_gmt":"2011-04-17T08:40:30","slug":"bug-schwarzer-patchday-fur-windows-2000-mfc-8-0-vc-2005-und-mfc-9-0-vc-2008-dlls-sind-nicht-mehr-lauffahig-nach-installation-von-kb2467175-bzw-kb2467175","status":"publish","type":"post","link":"http:\/\/blog.m-ri.de\/index.php\/2011\/04\/13\/bug-schwarzer-patchday-fur-windows-2000-mfc-8-0-vc-2005-und-mfc-9-0-vc-2008-dlls-sind-nicht-mehr-lauffahig-nach-installation-von-kb2467175-bzw-kb2467175\/","title":{"rendered":"BUG: Schwarzer Patchday f\u00fcr Windows 2000 &#8211; MFC 8.0 (VC-2005) und MFC 9.0 (VC-2008) DLLs sind nicht mehr lauff\u00e4hig nach Installation von KB2467174 bzw. KB2467175"},"content":{"rendered":"<p>Ein wirklich \u00fcbler Patchday von Microsoft f\u00fcr ale Windows 2000 Nutzer.<br \/>\nIn den Sicherheitsfixes f\u00fcr Visual Studio 2005 und 2008 wurden auch die Runtime Module der <em>MFC 8.0<\/em> und <em>MFC 9.0<\/em> &#8222;gefixed&#8220;.<br \/>\nSiehe <a href=\"http:\/\/support.microsoft.com\/kb\/2467175\">http:\/\/support.microsoft.com\/kb\/2467175<\/a> f\u00fcr VS-2005<br \/>\nSiehe <a href=\"http:\/\/support.microsoft.com\/kb\/2467174\">http:\/\/support.microsoft.com\/kb\/2467174<\/a> f\u00fcr VS-2008<\/p>\n<p>Es wurde ein Fix eingebaut, den wir schon in VS-2010 gesehen haben, der vermeiden soll, dass Satelite DLLs nur noch aus dem Verzeichnis geladen werden, in dem auch die MFC DLLs liegen<br \/>\n(gegen \u2018Binary Planting\u2019, d.h. unterschieben gefakter DLLs aus anderen Verzeichnissen).<\/p>\n<p>Leider wurde dabei die Funktion <strong><em>FindActCtxSectionStringA <\/em><\/strong>mit eingebaut und verwendet. Eine Funktion\u00a0die aber erst ab <em>Windows XP <\/em>vorhanden ist. Sofern man also eine Anwendung unter <em>Windows 2000 <\/em>hat, die die <em>MFC80.DLL<\/em>, <em>MFC80U.DLL<\/em>, <em>MFC90.DLL <\/em>oder <em>MFC90U.DLL <\/em>aus dem <em>WINDOWS\\SYSTEM32 <\/em>Verzeichnis verwendet, dann hat man seit dem dem Patchday von gestern ein massives Problem. Die DLLs k\u00f6nnen nicht mehr geladen werden. \ud83d\ude2f<\/p>\n<p>Einziger Rat ist hier, die neuen Dateien l\u00f6schen und die ungepatchten Versionen installieren und das am besten direkt in den Programmverzeichnissen \u2757<br \/>\nAlte Runtimes f\u00fcr VS-2005 SP1 <a href=\"http:\/\/www.microsoft.com\/downloads\/en\/details.aspx?FamilyID=200b2fd9-ae1a-4a14-984d-389c36f85647\">http:\/\/www.microsoft.com\/downloads\/en\/details.aspx?FamilyID=200b2fd9-ae1a-4a14-984d-389c36f85647<\/a><br \/>\nAlte Runtimes f\u00fcr VS-2008 SP1 <a href=\"http:\/\/www.microsoft.com\/downloads\/en\/details.aspx?FamilyID=a5c84275-3b97-4ab7-a40d-3802b2af5fc2\">http:\/\/www.microsoft.com\/downloads\/en\/details.aspx?FamilyID=a5c84275-3b97-4ab7-a40d-3802b2af5fc2<\/a><br \/>\n<strong>Alle Versionen mit den VCRedist_x86.exe Versionen und dem Datum vom 13.04.2010 sind f\u00fcr Windows 2000 tabu.<br \/>\nDas hei\u00dft auch, dass man diese DLLs nicht in seinem eigenen Setup f\u00fcr Windows 2000 ausrollen sollte.<\/strong><\/p>\n<p>Nicht betroffen sind Applikationen, die diese DLLs applikationsnah, d.h. im Programmverzeichnis installieren.<br \/>\nEine Methode, die ich seit Jahren\u00a0empfehle!<\/p>\n<p><strong>Nur noch einmal zur Klarstellung: Der Sicherheitspatch ist nur problematisch f\u00fcr Windows 2000 Rechner \u2757<\/strong><\/p>\n<p><strong>PS: <\/strong>Was bin ich froh, dass wir Windows 2000 schon lange nicht mehr unterst\u00fctzen <img src=\"http:\/\/blog.m-ri.de\/wp-includes\/images\/smilies\/mrgreen.png\" alt=\":mrgreen:\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" \/><\/p>\n<p><strong>PPS: <\/strong>Bei solch einem Fehler frage ich mich ob hier irgend jemand \u00fcberhaupt etwas getestet hat, au\u00dfer das die Installation durchgef\u00fchrt wird.<\/p>\n<p><strong>Nachtrag:<br \/>\n<\/strong>Die betroffenen C\/C++ Runtimes des <em>Visual Studio <\/em>haben die folgenden Versionsnummern<br \/>\n&#8211; VC-2005 8.0.50727.5592 (KB2467175)<br \/>\n&#8211; VC-2008 9.0.30729.5570 (KB2467174)<\/p>\n<p><strong>Workaround:<br \/>\n<\/strong><a href=\"http:\/\/blog.m-ri.de\/index.php\/2011\/04\/14\/workaround-fur-patchday-bug-vom-12-04-2011-wenn-unter-windows-2000-der-einsprungpunkt-findactctxsectionstringa-nicht-gefunden-wird\/\">Workaround f\u00fcr Patchday Bug vom 12.04.2011: Wenn unter Windows 2000 der Einsprungpunkt FindActCtxSectionStringA nicht gefunden wird<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ein wirklich \u00fcbler Patchday von Microsoft f\u00fcr ale Windows 2000 Nutzer. In den Sicherheitsfixes f\u00fcr Visual Studio 2005 und 2008 wurden auch die Runtime Module der MFC 8.0 und MFC 9.0 &#8222;gefixed&#8220;. Siehe http:\/\/support.microsoft.com\/kb\/2467175 f\u00fcr VS-2005 Siehe http:\/\/support.microsoft.com\/kb\/2467174 f\u00fcr VS-2008 Es wurde ein Fix eingebaut, den wir schon in VS-2010 gesehen haben, der vermeiden soll, &hellip; <a href=\"http:\/\/blog.m-ri.de\/index.php\/2011\/04\/13\/bug-schwarzer-patchday-fur-windows-2000-mfc-8-0-vc-2005-und-mfc-9-0-vc-2008-dlls-sind-nicht-mehr-lauffahig-nach-installation-von-kb2467175-bzw-kb2467175\/\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eBUG: Schwarzer Patchday f\u00fcr Windows 2000 &#8211; MFC 8.0 (VC-2005) und MFC 9.0 (VC-2008) DLLs sind nicht mehr lauff\u00e4hig nach Installation von KB2467174 bzw. KB2467175\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":[4,3,27],"tags":[99,352,136,34,36,44,282,283],"class_list":["post-822","post","type-post","status-publish","format-standard","hentry","category-mfc","category-programmieren","category-vs2008","tag-bug","tag-mfc","tag-qualitaetssicherung","tag-sp","tag-vs-2005","tag-vs-2008","tag-w2k","tag-windows-2000"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts\/822","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=822"}],"version-history":[{"count":1,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts\/822\/revisions"}],"predecessor-version":[{"id":823,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts\/822\/revisions\/823"}],"wp:attachment":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/media?parent=822"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/categories?post=822"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/tags?post=822"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}