{"id":2153,"date":"2006-06-23T13:44:00","date_gmt":"2006-06-23T13:44:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/heaths\/2006\/06\/23\/windows-installer-sdk-tools-and-uac-prompts\/"},"modified":"2018-09-06T05:56:07","modified_gmt":"2018-09-06T05:56:07","slug":"windows-installer-sdk-tools-and-uac-prompts","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/setup\/windows-installer-sdk-tools-and-uac-prompts\/","title":{"rendered":"Windows Installer SDK Tools and UAC Prompts"},"content":{"rendered":"<p>When using the tools from the Windows Installer SDK you might see the following dialog on <a href=\"http:\/\/www.microsoft.com\/windowsvista\/\">Windows Vista<\/a>.<\/p>\n<p><img decoding=\"async\" alt=\"User Account Control Prompt for msidb.exe\" src=\"https:\/\/devblogs.microsoft.com\/heaths\/wp-content\/uploads\/sites\/13\/2006\/06\/UAC.png\"><\/p>\n<p>Windows Installer tools like <i>msidb.exe<\/i> shown here, <i>msicert.exe<\/i>, <i>msifiler.exe<\/i>, <i>msiinfo.exe<\/i>, <i>msimerg.exe<\/i>, <i>msimsp.exe<\/i>, <i>msistuff.exe<\/i>, <i>msitran.exe<\/i>, and <i>wilogutl.exe<\/i> use Windows Installer file functions. <i>Msizap.exe<\/i> is the only tool that may require elevated privileges. Tools like <i>apatch.exe<\/i> and <i>mpatch.exe<\/i> don&#8217;t even use Windows Installer functions. So why the prompt? Take a look at the file properties shown below for <i>msidb.exe<\/i>.<\/p>\n<p><img decoding=\"async\" alt=\"File Properties for msidb.exe\" src=\"https:\/\/devblogs.microsoft.com\/heaths\/wp-content\/uploads\/sites\/13\/2006\/06\/Properties.png\"><\/p>\n<p>The word &#8220;Installer&#8221; was found in the version information block of the executable. <i>Apatch.exe<\/i> and <i>mpatch.exe<\/i> don&#8217;t contain this string in their version information block, but their file names include the word &#8220;patch&#8221;. <a href=\"http:\/\/msdn.microsoft.com\/library\/en-us\/UxGuide\/UXGuide\/Environment\/UAC\/UAC.asp\">User Account Control<\/a>, or UAC, in Windows Vista uses this information to assume the tools are some sort of installer.<\/p>\n<p>A manifest is required to inform UAC that elevated privileges are not required. This doesn&#8217;t mean a malicious application could lie, since protections are in place when additional privileges are required, but it is handy when assumptions aren&#8217;t accurate and the tools really do not require elevated privileges. These tools in the <a href=\"http:\/\/www.microsoft.com\/downloads\/details.aspx?FamilyId=13F8E273-F5EA-4B7B-B022-97755838DB94\">Windows SDK for Windows Vista Beta 2<\/a> already have the manifest included, which looks like the following content for <i>msidb.exe<\/i>.<\/p>\n<p><font face=\"monospace\"><span>&lt;?<\/span><span>xml<\/span><span> <\/span><span>version<\/span><span>=<\/span>&#8220;<span>1.0<\/span>&#8220;<span> <\/span><span>encoding<\/span><span>=<\/span>&#8220;<span>UTF-8<\/span>&#8220;<span> <\/span><span>standalone<\/span><span>=<\/span>&#8220;<span>yes<\/span>&#8220;<span>?&gt;<\/span><br \/><span>&lt;!&#8211;<\/span><span> Copyright (c) Microsoft Corporation <\/span><span>&#8211;&gt;<\/span><br \/><span>&lt;<\/span><span>assembly<\/span><span> <\/span><span>manifestVersion<\/span><span>=<\/span>&#8220;<span>1.0<\/span>&#8220;<span> <\/span><span>xmlns<\/span><span>=<\/span>&#8220;<span>urn:schemas-microsoft-com:asm.v1<\/span>&#8220;<span>&gt;<\/span><br \/><span>&nbsp; &lt;<\/span><span>assemblyIdentity<\/span><span> <\/span><br \/><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span><span>type<\/span><span>=<\/span>&#8220;<span>win32<\/span>&#8220;<span> <\/span><br \/><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span><span>name<\/span><span>=<\/span>&#8220;<span>Microsoft.Windows.MSI.MsiDb<\/span>&#8220;<br \/><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span><span>version<\/span><span>=<\/span>&#8220;<span>4.0.0.0<\/span>&#8220;<br \/><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span><span>processorArchitecture<\/span><span>=<\/span>&#8220;<span>x86<\/span>&#8220;<span>\/&gt;<\/span><br \/><span>&nbsp; &lt;<\/span><span>description<\/span><span>&gt;<\/span>MsiDb &#8211; MSI Package Archive Table Import and Export Utility<span>&lt;\/<\/span><span>description<\/span><span>&gt;<\/span><br \/><span>&nbsp; &lt;<\/span><span>trustInfo<\/span><span> <\/span><span>xmlns<\/span><span>=<\/span>&#8220;<span>urn:schemas-microsoft-com:asm.v3<\/span>&#8220;<span>&gt;<\/span><br \/><span>&nbsp;&nbsp;&nbsp; &lt;<\/span><span>security<\/span><span>&gt;<\/span><br \/><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;<\/span><span>requestedPrivileges<\/span><span>&gt;<\/span><br \/><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;<\/span><span>requestedExecutionLevel<\/span><br \/><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span><span>level<\/span><span>=<\/span>&#8220;<span>asInvoker<\/span>&#8220;<br \/><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span><span>uiAccess<\/span><span>=<\/span>&#8220;<span>false<\/span>&#8220;<br \/><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/&gt;<\/span><br \/><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;\/<\/span><span>requestedPrivileges<\/span><span>&gt;<\/span><br \/><span>&nbsp;&nbsp;&nbsp; &lt;\/<\/span><span>security<\/span><span>&gt;<\/span><br \/><span>&nbsp; &lt;\/<\/span><span>trustInfo<\/span><span>&gt;<\/span><br \/><span>&lt;\/<\/span><span>assembly<\/span><span>&gt;<\/span><\/font><\/p>\n<p>While it is recommended that you download and use these new tools &#8211; which can still produce and manipulate packages for use with older versions of Windows Installer &#8211; you can put similar content into manifest files external to applications that don&#8217;t already have an embedded manifest (like <i>wilogutl.exe<\/i>) using the file naming convention <i>&lt;tool name&gt;.exe.config<\/i>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>When using the tools from the Windows Installer SDK you might see the following dialog on Windows Vista. Windows Installer tools like msidb.exe shown here, msicert.exe, msifiler.exe, msiinfo.exe, msimerg.exe, msimsp.exe, msistuff.exe, msitran.exe, and wilogutl.exe use Windows Installer file functions. Msizap.exe is the only tool that may require elevated privileges. Tools like apatch.exe and mpatch.exe don&#8217;t [&hellip;]<\/p>\n","protected":false},"author":389,"featured_media":3843,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[20],"class_list":["post-2153","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-installation"],"acf":[],"blog_post_summary":"<p>When using the tools from the Windows Installer SDK you might see the following dialog on Windows Vista. Windows Installer tools like msidb.exe shown here, msicert.exe, msifiler.exe, msiinfo.exe, msimerg.exe, msimsp.exe, msistuff.exe, msitran.exe, and wilogutl.exe use Windows Installer file functions. Msizap.exe is the only tool that may require elevated privileges. Tools like apatch.exe and mpatch.exe don&#8217;t [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/posts\/2153","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/users\/389"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/comments?post=2153"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/posts\/2153\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/media\/3843"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/media?parent=2153"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/categories?post=2153"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/setup\/wp-json\/wp\/v2\/tags?post=2153"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}