<?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 : Devs</title><link>http://blogs.msdn.com/uac/archive/tags/Devs/default.aspx</link><description>Tags: Devs</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Announcing Microsoft Standard User Analyzer Beta 1</title><link>http://blogs.msdn.com/uac/archive/2006/05/25/607348.aspx</link><pubDate>Thu, 25 May 2006 22:21:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:607348</guid><dc:creator>User Account Control Team</dc:creator><slash:comments>17</slash:comments><comments>http://blogs.msdn.com/uac/comments/607348.aspx</comments><wfw:commentRss>http://blogs.msdn.com/uac/commentrss.aspx?PostID=607348</wfw:commentRss><description>&lt;P&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-ansi-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face=Arial size=2&gt;The UAC team has just released the first beta version of the Microsoft Standard User Analyzer (SUA) tool.&amp;nbsp; SUA is a tool that independent software vendors (ISVs) and IT developers can use to diagnose and identify possible application compatibility issues when migrating applications from running as administrator on down level Windows operating systems to Windows Vista which even with administrators run most programs with standard user privileges by default.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-ansi-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face=Arial size=2&gt;SUA is a runtime diagnose tool and has two modes, predictive mode and diagnose mode.&amp;nbsp; In predictive mode, the application being tested is launched elevated with administrative privileges.&amp;nbsp; SUA works by monitoring a set of selected APIs that are used to access resources, like files and registry keys, on the operating system.&amp;nbsp; During application runtime, SUA interprets how each API is called, monitors the result, and logs the result on whether such a call will succeed or fail when the application is running as standard user instead of as administrator.&amp;nbsp; This allows the application to be fully exercised to provide a high level summary of all the potential standard user issues in the application.&amp;nbsp; In diagnose mode, the application being tested is launch with a standard user token.&amp;nbsp; The application may fail at the first error it encounters.&amp;nbsp; This mode is useful if you want to test the application in a standard user environment after you have fixed all the issues identified by SUA in the predictive mode.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://uacblog.members.winisp.net/images/suanalyzer/suanalyzer1.png"&gt;&lt;BR&gt;&lt;FONT size=1&gt;&lt;STRONG&gt;&lt;FONT face=Arial&gt;Figure&amp;nbsp;1 Screenshot of Standard User Analyzer Beta 1&lt;/FONT&gt;&lt;BR&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/IMG&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-ansi-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face=Arial size=2&gt;As we progress in our understanding of standard user application compatibility issues, we will be integrating our knowledge into the next beta version of the tool.&amp;nbsp; We hope you will find this tool useful in helping you change your application to be standard user ready on Windows Vista.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-ansi-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face=Arial size=2&gt;Please visit the &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=df59b474-c0b7-4422-8c70-b0d9d3d2f575&amp;amp;DisplayLang=en"&gt;&lt;FONT face=Arial size=2&gt;Standard User Analyzer &lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Arial size=2&gt;site to obtain additional information and to download the tool.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-ansi-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face=Arial size=2&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-ansi-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face=Arial size=2&gt;Thanks,&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-ansi-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face=Arial size=2&gt;Wei Wang&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-ansi-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face=Arial size=2&gt;Lead SDE/T&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-ansi-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face=Arial size=2&gt;Windows Security&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=607348" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/uac/archive/tags/Devs/default.aspx">Devs</category><category domain="http://blogs.msdn.com/uac/archive/tags/Test/default.aspx">Test</category></item><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>