{"id":30,"date":"2007-02-15T21:18:05","date_gmt":"2007-02-15T20:18:05","guid":{"rendered":"http:\/\/blog.m-ri.de\/index.php\/2007\/02\/15\/uac-trustinfo-manifest-in-ein-vc-2005-sp1-projekt-einfugen\/"},"modified":"2007-05-03T16:28:49","modified_gmt":"2007-05-03T14:28:49","slug":"uac-trustinfo-manifest-in-ein-vc-2005-sp1-projekt-einfugen","status":"publish","type":"post","link":"http:\/\/blog.m-ri.de\/index.php\/2007\/02\/15\/uac-trustinfo-manifest-in-ein-vc-2005-sp1-projekt-einfugen\/","title":{"rendered":"UAC Trustinfo Manifest in ein VC-2005 SP1 Projekt einf\u00fcgen"},"content":{"rendered":"<p>An sich ist die Sache ganz einfach. Man erzeugt eine Manifest-Datei z.B. mit dem Namen <em>Trustinfo.manifest<\/em>, die nur den entsprechenden &lt;trustinfo&gt; Block enth\u00e4lt (<strong>und nicht mehr<\/strong>). Um die anderen Manifest Daten f\u00fcr CRT und COMCTL32 v6.0 k\u00fcmmert man sich erstmal nicht, das soll ja MT.EXE und der Linker machen.\u00a0Diese Datei f\u00fcgt man in das Projekt ein. VS erkennt die Endung und der Manifest-Compiler soll diese Datei nun mit den anderen Manifest Daten mischen und das finale Manifest erzeugen.<br \/>\nMan wirft den Compiler an und&#8230; \ud83d\ude44 &#8230; erh\u00e4lt die Fehlermeldung:<br \/>\n<em>.\\TrustInfo.manifest : manifest authoring warning 81010002: Unrecognized Element &#8222;requestedPrivileges&#8220; in namespace &#8222;urn:schemas-microsoft-com:asm.v3&#8220;.<\/em><\/p>\n<p>Entsprechende Recherche ergab, dass nur die MT.EXE aus dem Vista SDK dieses Manifest korrekt einmischt. Die funktionierende MT.EXE hat es nicht in das 2005 SP1 gepackt \ud83d\ude41 .<\/p>\n<p>OK also Vista SDK herunterladen installieren. MT.EXE ansehen und&#8230; \ud83d\ude44<br \/>\nDie MT.EXE aus 2005 SP1 ist vom 2006-12-02 07:17,<br \/>\ndie MT.EXE aus dem Vista SDK ist vom 2006-10-19 14:52,<br \/>\nbeide haben eine Gr\u00f6\u00dfe von 727.552 Bytes und haben die gleiche Versionsnummer 5.2.3790.2075. Es ist nicht zu fassen.<\/p>\n<p>OK\u00a0packen wir also trotzdem die MT.EXE aus dem Vista SDK in das Verzeichnis <em>C:\\Program Files\\Microsoft Visual Studio 8\\VC\\bin<\/em><\/p>\n<p>Nun kompilieren wir das Projekt noch einmal und nun&#8230; <img src=\"http:\/\/blog.m-ri.de\/wp-includes\/images\/smilies\/mrgreen.png\" alt=\":mrgreen:\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" \/><br \/>\nwunderbar, das Projekt kompiliert wie erwartet. Das Manifest wird eingef\u00fcgt. Die erzeugte EXE hat alle entsprechenden Manifeste eingebettet.<\/p>\n<p>Wen es interessiert, die Bug-Meldung bzgl. der Versionsnummer ist hier zu finden:<br \/>\n<a href=\"https:\/\/connect.microsoft.com\/VisualStudio\/feedback\/ViewFeedback.aspx?FeedbackID=258108\">https:\/\/connect.microsoft.com\/VisualStudio\/feedback\/ViewFeedback.aspx?FeedbackID=258108<\/a><\/p>\n<p>Es sei noch angemerkt: Mein Testrechner ist ein Vista-Ultimate Laptop. Installiert war auch das VS-2005 SP1 Beta f\u00fcr Vista. Auch diese Version enth\u00e4lt keine kompatible MT.EXE!<br \/>\nDanke Jochen f\u00fcr den Hinweis!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>An sich ist die Sache ganz einfach. Man erzeugt eine Manifest-Datei z.B. mit dem Namen Trustinfo.manifest, die nur den entsprechenden &lt;trustinfo&gt; Block enth\u00e4lt (und nicht mehr). Um die anderen Manifest Daten f\u00fcr CRT und COMCTL32 v6.0 k\u00fcmmert man sich erstmal nicht, das soll ja MT.EXE und der Linker machen.\u00a0Diese Datei f\u00fcgt man in das Projekt &hellip; <a href=\"http:\/\/blog.m-ri.de\/index.php\/2007\/02\/15\/uac-trustinfo-manifest-in-ein-vc-2005-sp1-projekt-einfugen\/\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eUAC Trustinfo Manifest in ein VC-2005 SP1 Projekt einf\u00fcgen\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,17],"tags":[58,358,36],"class_list":["post-30","post","type-post","status-publish","format-standard","hentry","category-programmieren","category-vista-2","tag-uac","tag-vista","tag-vs-2005"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts\/30","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=30"}],"version-history":[{"count":0,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts\/30\/revisions"}],"wp:attachment":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/media?parent=30"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/categories?post=30"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/tags?post=30"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}