<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>UACBlog : UAC Overviews</title><link>http://blogs.msdn.com/uac/archive/tags/UAC+Overviews/default.aspx</link><description>Tags: UAC Overviews</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Identification of Administrative Applications</title><link>http://blogs.msdn.com/uac/archive/2006/01/13/512776.aspx</link><pubDate>Sat, 14 Jan 2006 04:35:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:512776</guid><dc:creator>User Account Control Team</dc:creator><slash:comments>36</slash:comments><comments>http://blogs.msdn.com/uac/comments/512776.aspx</comments><wfw:commentRss>http://blogs.msdn.com/uac/commentrss.aspx?PostID=512776</wfw:commentRss><description>&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;&lt;FONT face=Arial&gt;Welcome to another installment of the Windows Vista UAC Blog!&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;Let’s dig a little deeper into the area of how Windows Vista knows which applications need to run with administrator privileges. We’ll use the term “Elevation” to describe the process by which an application is launched with admin privileges. Elevation falls into two categories:&lt;/FONT&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;FONT face=Arial&gt;The O/S makes a decision that the application looks like an installer or updater and will automatically invoke elevation to run the program with administrative permissions/privileges when a user runs it. This decision is based on a heuristic. Here are some of the heuristic detection points, although this list is not exhaustive:&lt;/FONT&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT face=Arial&gt;File name detection – looks for the words “setup”, “update”, “install” in the filename&lt;/FONT&gt;
&lt;LI&gt;&lt;FONT face=Arial&gt;SxS Manifest word detection – looks for well-known values in the assembly name attribute program’s SxS Manifest&lt;/FONT&gt;
&lt;LI&gt;&lt;FONT face=Arial&gt;String table detection – looks for well known values in the string table within the resource section of an executable&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;&lt;FONT face=Arial&gt;An application is marked via an overt action to run with administrative permissions/privileges. This process of admin marking can occur in four ways.&lt;/FONT&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT face=Arial&gt;Including an app manifest within the resource section of their executable program that specifies that the application needs to run with administrative permissions/privileges. This is the method that a developer of Windows Vista compliant code would use when developing or updating their application. The benefit is that the marking is performed by the developer and included in the code when it is compiled. This marking travels around with the code and is therefore independent of the target Windows Vista system. We have an MSDN article that has a section on how to do this. Take a look at: &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/windowsvista/default.aspx?pull=/library/en-us/dnlong/html/AccProtVista.asp"&gt;&lt;FONT face=Arial&gt;http://msdn.microsoft.com/windowsvista/default.aspx?pull=/library/en-us/dnlong/html/AccProtVista.asp&lt;/FONT&gt;&lt;/A&gt;
&lt;LI&gt;&lt;FONT face=Arial&gt;An application compatibility shim is installed on a Windows Vista machine that marks an executable so it will be elevated when run. This would be the way that an IT professional would mark a legacy application in their environment without having to make changes to the code. The application compatibility toolkit, available for download from Microsoft, includes a tool called compatAdmin.exe that is used to build the shims. We have an article available that describes how this is done (along with the process of deploying this shim within a group policy-managed environment). Take a look at: &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/technet/windowsvista/deploy/appcompat/acshims.mspx"&gt;&lt;FONT face=Arial&gt;http://www.microsoft.com/technet/windowsvista/deploy/appcompat/acshims.mspx&lt;/FONT&gt;&lt;/A&gt;
&lt;LI&gt;&lt;FONT face=Arial&gt;A checkbox is available on the compatibility tab under program properties that says “Run the program as an administrator”. This is how a user of Windows Vista would mark an application for elevation on a one-off basis.&lt;/FONT&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;&lt;IMG src="http://uacblog.members.winisp.net/images/compattab.png"&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;&lt;FONT face=Arial&gt;A user can force elevation of an unmarked application by right clicking on an application and selecting “Run Elevated…” from the menu. This is how a user of Windows Vista would run an application elevated without persisting the setting. With this, a user can run an application elevated only when they specifically want to. &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;Cheers!&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;- Peter &lt;/FONT&gt;&lt;/P&gt;
&lt;DIV id=CSBloggerSig&gt;&lt;/DIV&gt;&lt;/FONT&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=512776" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/uac/archive/tags/IT+Pros/default.aspx">IT Pros</category><category domain="http://blogs.msdn.com/uac/archive/tags/Devs/default.aspx">Devs</category><category domain="http://blogs.msdn.com/uac/archive/tags/UAC+Overviews/default.aspx">UAC Overviews</category><category domain="http://blogs.msdn.com/uac/archive/tags/UAC+Articles/default.aspx">UAC Articles</category></item></channel></rss>