<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">Aaron Margosis' "Non-Admin" and App-Compat WebLog</title><subtitle type="html">The Non-Admin blog - running with least privilege on the desktop... and then dealing with the application compatibility fallout</subtitle><id>http://blogs.msdn.com/aaron_margosis/atom.xml</id><link rel="alternate" type="text/html" href="http://blogs.msdn.com/aaron_margosis/default.aspx" /><link rel="self" type="application/atom+xml" href="http://blogs.msdn.com/aaron_margosis/atom.xml" /><generator uri="http://communityserver.org" version="2.1.61025.2">Community Server</generator><updated>2007-07-17T17:08:00Z</updated><entry><title>Machine SIDs and Domain SIDs</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/aaron_margosis/archive/2009/11/05/machine-sids-and-domain-sids.aspx" /><id>http://blogs.msdn.com/aaron_margosis/archive/2009/11/05/machine-sids-and-domain-sids.aspx</id><published>2009-11-05T13:37:56Z</published><updated>2009-11-05T13:37:56Z</updated><content type="html">&lt;p&gt;Microsoft Technical Fellow Mark Russinovich’s recent post “&lt;a href="http://blogs.technet.com/markrussinovich/archive/2009/11/03/3291024.aspx" target="_blank"&gt;The Machine SID Duplication Myth&lt;/a&gt;” confused many readers who didn’t understand the distinction between the two independent SIDs that belong to a domain-joined computer.&amp;#160; I’ll take a crack at trying to clarify that.&lt;/p&gt;  &lt;p&gt;Machine and domain SIDs consist of a base SID and a Relative ID (RID) that is appended to the base SID.&amp;#160; Think of the base SID by itself as identifying an authority within which accounts and groups can be defined.&amp;#160; A computer is an authority within which local accounts and groups are defined.&amp;#160; The computer has a machine SID, and the local accounts and groups have SIDs consisting of that machine SID plus a RID.&amp;#160; For example:&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="874"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="262"&gt;Machine SID for computer DEMOSYSTEM&lt;/td&gt;        &lt;td valign="top" width="610"&gt;S-1-5-21-3419697060-3810377854-678604692&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="262"&gt;DEMOSYSTEM\Administrator&lt;/td&gt;        &lt;td valign="top" width="610"&gt;S-1-5-21-3419697060-3810377854-678604692-500&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="262"&gt;DEMOSYSTEM\Guest&lt;/td&gt;        &lt;td valign="top" width="610"&gt;S-1-5-21-3419697060-3810377854-678604692-501&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="262"&gt;DEMOSYSTEM\CustomAccount1&lt;/td&gt;        &lt;td valign="top" width="610"&gt;S-1-5-21-3419697060-3810377854-678604692-1000&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="262"&gt;DEMOSYSTEM\CustomAccount2&lt;/td&gt;        &lt;td valign="top" width="610"&gt;S-1-5-21-3419697060-3810377854-678604692-1001&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;SIDs (not names) are what are stored in access tokens associated with running code and in security descriptors associated with securable objects, and are what are compared by the security subsystem when performing access checks.&lt;/p&gt;  &lt;p&gt;On a workgroup system, local accounts and groups are all there are.&amp;#160; Mark’s assertion is that authentication to a remote system using a local account requires a user name and password known to the remote system, and that SIDs are not used.&amp;#160; The only way anything resembling single sign on happens with local accounts is that if the remote system has the same user name and password that the caller is using.&amp;#160; SIDs are not transmitted and are not used for remote authentication.&lt;/p&gt;  &lt;p&gt;If the computer is joined to a domain, then another SID comes into play.&amp;#160; The computer still has its own machine SID and its own local accounts and groups.&amp;#160; But it is also a member of a domain, and so it has a SID representing its computer account within that domain.&amp;#160; The domain is an authority within which accounts and groups (and other entities) can be defined – including computer accounts:&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="875"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="312"&gt;SID for domain BIGDOMAIN&lt;/td&gt;        &lt;td valign="top" width="561"&gt;S-1-5-21-124525095-708259637-1543119021&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="312"&gt;BIGDOMAIN\DEMOSYSTEM$ (computer account)&lt;/td&gt;        &lt;td valign="top" width="561"&gt;S-1-5-21-124525095-708259637-1543119021-937822&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="312"&gt;BIGDOMAIN\JOHNSMITH&amp;#160; (user account)&lt;/td&gt;        &lt;td valign="top" width="561"&gt;S-1-5-21-124525095-708259637-1543119021-20937&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;DEMOSYSTEM now has two separate SIDs:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;the machine SID which identifies it (locally) as an authority within which accounts and groups are defined (first row in the first table above); and &lt;/li&gt;    &lt;li&gt;the computer account SID within the BIGDOMAIN domain (second row in the second table).&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;You can see the machine SID on your computer by running Sysinternals &lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb897417.aspx" target="_blank"&gt;PsGetSid&lt;/a&gt; with no parameters.&amp;#160; You can see the second SID on a domain-joined system by passing PsGetSid the computer name followed by a $:&amp;#160; &lt;font face="Courier New"&gt;psgetsid %COMPUTERNAME%$&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Mark’s point is that SIDs must be unique &lt;em&gt;within the authority in which they are used&lt;/em&gt;.&amp;#160; So while DEMOSYSTEM must have only one local account with the SID S-1-5-21-3419697060-3810377854-678604692-1000, it doesn’t matter if another computer uses the same SID to refer to a local account of its own.&amp;#160; However, within the BIGDOMAIN domain, there must be only one computer account with the SID S-1-5-21-124525095-708259637-1543119021-937822.&amp;#160; If multiple computers in the domain try to share that computer SID within the domain, problems will occur.&amp;#160; So while it’s OK to clone a system &lt;em&gt;before&lt;/em&gt; it joins a domain, doing so &lt;em&gt;after &lt;/em&gt;it joins a domain (and is assigned a domain computer account and a corresponding domain SID) will cause problems.&lt;/p&gt;  &lt;p&gt;Hope this helps!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9917978" width="1" height="1"&gt;</content><author><name>Aaron Margosis</name><uri>http://blogs.msdn.com/members/Aaron+Margosis.aspx</uri></author></entry><entry><title>LUA Buglight 2.1 released</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/aaron_margosis/archive/2009/11/03/lua-buglight-2-1-released.aspx" /><id>http://blogs.msdn.com/aaron_margosis/archive/2009/11/03/lua-buglight-2-1-released.aspx</id><published>2009-11-03T21:37:00Z</published><updated>2009-11-03T21:37:00Z</updated><content type="html">&lt;P&gt;LUA Buglight 2.1, identifies admin-permissions issues ("LUA bugs") in desktop applications.&amp;nbsp; New version supports Windows 7 (x86 and x64), Vista (x86 and x64), XP (x86 only) and corresponding Server OSes.&lt;/P&gt;
&lt;P&gt;The download and more information is on this page:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/aaron_margosis/pages/LuaBuglight.aspx" mce_href="http://blogs.msdn.com/aaron_margosis/pages/LuaBuglight.aspx"&gt;http://blogs.msdn.com/aaron_margosis/pages/LuaBuglight.aspx&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9916989" width="1" height="1"&gt;</content><author><name>Aaron Margosis</name><uri>http://blogs.msdn.com/members/Aaron+Margosis.aspx</uri></author><category term="Non-admin" scheme="http://blogs.msdn.com/aaron_margosis/archive/tags/Non-admin/default.aspx" /><category term="Fixing LUA Bugs" scheme="http://blogs.msdn.com/aaron_margosis/archive/tags/Fixing+LUA+Bugs/default.aspx" /><category term="LUA Buglight" scheme="http://blogs.msdn.com/aaron_margosis/archive/tags/LUA+Buglight/default.aspx" /><category term="Vista/Win7" scheme="http://blogs.msdn.com/aaron_margosis/archive/tags/Vista_2F00_Win7/default.aspx" /></entry><entry><title>Utilities for Local Group Policy and IE Security Zones</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/aaron_margosis/archive/2009/10/02/utilities-for-local-group-policy-and-ie-security-zones.aspx" /><id>http://blogs.msdn.com/aaron_margosis/archive/2009/10/02/utilities-for-local-group-policy-and-ie-security-zones.aspx</id><published>2009-10-02T07:16:24Z</published><updated>2009-10-02T07:16:24Z</updated><content type="html">&lt;p&gt;Because of my work with the Federal Desktop Core Configuration, I’ve published a set of three utilities that manage Local Group Policy.&amp;#160; The newest of these (ImportRegPol) parses registry.pol files and can convert their content to text.&amp;#160; I’ve also created a utility to view and compare IE security zone settings that is particularly helpful on a system that has been locked down with Group Policy.&lt;/p&gt;  &lt;p&gt;I also wrote a &lt;a href="http://blogs.technet.com/fdcc/archive/2009/09/28/the-case-of-the-unexplained-installation-failure-and-an-ill-advised-registry-hack.aspx" target="_blank"&gt;blog post&lt;/a&gt; on the FDCC blog describing compatibility problems caused by a widely-deployed registry hack that tries to prevent Autoplay.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top"&gt;         &lt;p&gt;&lt;b&gt;Utility&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top"&gt;         &lt;p&gt;&lt;b&gt;Description and Key Scenarios&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;         &lt;p&gt;&lt;b&gt;&lt;a href="http://blogs.technet.com/fdcc/pages/LGPO-Utilities.aspx" target="_blank"&gt;Set_FDCC_LGPO&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top"&gt;         &lt;p&gt;Applies full set of NIST FDCC settings into the Local Group Policy of a Windows XP or Windows Vista computer.&lt;/p&gt;          &lt;p&gt;Always applies Administrative Templates; FDCC security templates are optional.&lt;/p&gt;          &lt;p&gt;Current version not supported on versions of Windows other than XP and Vista (Win7 version to be created if/when NIST defines FDCC settings for Windows 7.)&lt;/p&gt;          &lt;p&gt;Intended for automated use; non-interactive.&lt;/p&gt;          &lt;p&gt;Intended as part of image building or image maintenance after deployment.&lt;/p&gt;          &lt;p&gt;Source code provided.&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;         &lt;p&gt;&lt;b&gt;&lt;a href="http://blogs.technet.com/fdcc/pages/LGPO-Utilities.aspx" target="_blank"&gt;Apply_LGPO_Delta&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top"&gt;         &lt;p&gt;Allows application of individual policy settings into the Local Group Policy of a Windows computer. These can include administrative template settings or security template settings.&lt;/p&gt;          &lt;p&gt;All input files are text-based, for ease of editing and customization.&lt;/p&gt;          &lt;p&gt;Intended for automated use; non-interactive.&lt;/p&gt;          &lt;p&gt;Designed to work in scenarios with Set_FDCC_LGPO. Primary purpose is to apply an organization’s variances from FDCC after running Set_FDCC_LGPO.&lt;/p&gt;          &lt;p&gt;Intended for same scenarios as Set_FDCC_LGPO.&lt;/p&gt;          &lt;p&gt;Source code provided.&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;         &lt;p&gt;&lt;b&gt;&lt;a href="http://blogs.technet.com/fdcc/pages/LGPO-Utilities.aspx" target="_blank"&gt;ImportRegPol&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top"&gt;         &lt;p&gt;Reads a registry.pol file and then does one or both of the following:&lt;/p&gt;          &lt;p&gt;1) Applies settings from the registry.pol file to the Computer or User Configuration settings in Local Group Policy on the current computer;&lt;/p&gt;          &lt;p&gt;2) Writes out the settings to a text file in a format that can be consumed by Apply_LGPO_Delta.&lt;/p&gt;          &lt;p&gt;Intended for automated use; non-interactive.&lt;/p&gt;          &lt;p&gt;Intended as part of image building.&lt;/p&gt;          &lt;p&gt;Source code provided.&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top"&gt;         &lt;p&gt;&lt;b&gt;&lt;a href="http://blogs.technet.com/fdcc/archive/2009/10/01/viewing-and-comparing-ie-security-zone-settings.aspx" target="_blank"&gt;IE Zone Comparer&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top"&gt;         &lt;p&gt;GUI program to graphically display and compare two collections of IE security zone settings (policies or preferences for each of the security zones), highlighting settings that differ between the collections.&amp;#160; Useful for seeing what settings are in effect (on a locked down system, the Security tab of the IE Properties dialog is mostly disabled), for comparing differences between zones, and more.&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9902200" width="1" height="1"&gt;</content><author><name>Aaron Margosis</name><uri>http://blogs.msdn.com/members/Aaron+Margosis.aspx</uri></author></entry><entry><title>Live, on the internet...</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/aaron_margosis/archive/2009/06/15/live-on-the-internet.aspx" /><id>http://blogs.msdn.com/aaron_margosis/archive/2009/06/15/live-on-the-internet.aspx</id><published>2009-06-16T05:57:00Z</published><updated>2009-06-16T05:57:00Z</updated><content type="html">&lt;P&gt;&lt;A href="http://en.wikipedia.org/wiki/Hello#Telephone" target=_blank mce_href="http://en.wikipedia.org/wiki/Hello#Telephone"&gt;Ahoy&lt;/A&gt;, all -- Later this week I'll be appearing at a virtual roundtable hosted by &lt;A href="http://www.microsoft.com/presspass/exec/techfellow/Russinovich/default.mspx" target=_blank mce_href="http://www.microsoft.com/presspass/exec/techfellow/Russinovich/default.mspx"&gt;Mark Russinovich&lt;/A&gt;, streaming live over the web.&amp;nbsp; The topic is Windows 7 application compatibility.&amp;nbsp; Among other things, I'll be demoing the latest&amp;nbsp;(still-unreleased) updates to&amp;nbsp;LUA Buglight (latest released version &lt;A href="http://blogs.msdn.com/aaron_margosis/archive/2008/11/06/lua-buglight-2-0-second-preview.aspx" mce_href="http://blogs.msdn.com/aaron_margosis/archive/2008/11/06/lua-buglight-2-0-second-preview.aspx"&gt;here&lt;/A&gt;).&lt;/P&gt;
&lt;P&gt;Here are the details:&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Springboard Series Virtual Roundtable&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 12pt"&gt; &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;Windows 7 Application Compatibility: Your Questions Answered (Part 1)&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Date:&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 12pt"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Thursday,&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 12pt"&gt; &lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;June 18&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Time:&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 12pt"&gt; &lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;11:00am Pacific Time&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 12pt"&gt;&lt;A href="https://ms.istreamplanet.com/springboard"&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: blue; mso-bidi-font-family: Calibri"&gt;https://ms.istreamplanet.com/springboard&lt;/SPAN&gt;&lt;/A&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Windows 7, is approaching fast and from the application standpoint is very similar to Windows Vista. We’re going to examine Windows 7 application compatibility not only from the perspective of moving from Windows Vista, but also for those coming from Windows XP. Join us to discuss the most common challenges around application compatibility when coming from a legacy operating system, why changes were made along the way, compatibility technologies inside the OS and methods for getting incompatible applications to run on Windows 7. Along the way we share tips and tricks, demonstrate free tools to analyze and fix applications and answer your specific questions about application compatibility live.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 12pt"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;In Part 2 of this Virtual Round Table discussion (planned for later this Summer/Fall), we’ll discuss the options and approaches for using virtualization tools In depth to address application incompatibilities – including presentation virtualization, desktop virtualization and application virtualization. We’ll be sending out more details and posting information to&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 12pt"&gt; &lt;A href="http://www.microsoft.com/springboard"&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: blue; mso-bidi-font-family: Calibri"&gt;www.microsoft.com/springboard&lt;/SPAN&gt;&lt;/A&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;for part 2 as the dates are finalized.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 12pt"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;As part of the “virtual” experience, you may submit your questions about Windows 7&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 12pt"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Application Compatibility to the panel live during the event—or submit questions in advance to&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 12pt"&gt; &lt;A href="mailto:vrtable@microsoft.com"&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #0070c0; mso-bidi-font-family: Calibri"&gt;vrtable@microsoft.com&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;.&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 12pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 12pt; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;FONT face=Calibri&gt;Springboard Series: The resource for Windows desktop IT professionals&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 12pt"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9757715" width="1" height="1"&gt;</content><author><name>Aaron Margosis</name><uri>http://blogs.msdn.com/members/Aaron+Margosis.aspx</uri></author><category term="LUA Buglight" scheme="http://blogs.msdn.com/aaron_margosis/archive/tags/LUA+Buglight/default.aspx" /><category term="Vista/Win7" scheme="http://blogs.msdn.com/aaron_margosis/archive/tags/Vista_2F00_Win7/default.aspx" /></entry><entry><title>FAQ: How do I start a program as the desktop user from an elevated app?</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/aaron_margosis/archive/2009/06/06/faq-how-do-i-start-a-program-as-the-desktop-user-from-an-elevated-app.aspx" /><link rel="enclosure" type="application/x-zip-compressed" length="73975" href="http://blogs.msdn.com/aaron_margosis/attachment/9702517.ashx" /><id>http://blogs.msdn.com/aaron_margosis/archive/2009/06/06/faq-how-do-i-start-a-program-as-the-desktop-user-from-an-elevated-app.aspx</id><published>2009-06-06T07:19:00Z</published><updated>2009-06-06T07:19:00Z</updated><content type="html">&lt;P&gt;Common Vista/Win7 scenario:&amp;nbsp; the app you’ve written runs with elevated permissions, but then needs to start another program as the non-elevated desktop user.&amp;nbsp; For example, you want to display web content.&amp;nbsp; Now, you &lt;EM&gt;could&lt;/EM&gt; just launch the web browser from your app, and let the web browser run as admin.&amp;nbsp; What could go wrong?&amp;nbsp; (Hint:&amp;nbsp; the correct answer will include the word “catastrophic”)&lt;/P&gt;
&lt;P&gt;A very common mistake that programmers make is to grab a copy of the elevated, High Integrity Level access token from the current process and then “dumb it down”.&amp;nbsp; I.e., disable powerful group memberships, remove powerful privileges, and change the integrity level to Medium.&amp;nbsp; They then launch the new process with that “dumbed down” token.&amp;nbsp; This breaks for a number of reasons.&lt;/P&gt;
&lt;H2&gt;&lt;STRONG&gt;The new “LUA bug” of Vista/Win7&lt;/STRONG&gt;&lt;/H2&gt;
&lt;P&gt;First and foremost, that approach makes the invalid assumption that the elevated app is running under the same user identity as the desktop user who originally logged on.&amp;nbsp; This is the new “LUA bug” of Vista and Win7.&amp;nbsp; (Refresher:&amp;nbsp; “LUA” = “limited user account”; “LUA bug” = failure that occurs when running as LUA and not administrator.&amp;nbsp; #1 cause of LUA bugs:&amp;nbsp; assumption that the end user will be an administrator.)&amp;nbsp; In Vista/Win7, everything runs as “LUA” by default, unless you specifically allow something to run elevated.&amp;nbsp; If you’re a member of the Administrators group, by default this involves a simple “consent” prompt.&amp;nbsp; The resulting app still runs as you, but with full admin rights.&amp;nbsp; If you’re &lt;EM&gt;not &lt;/EM&gt;a member of Administrators, the elevation prompt requires the credentials of another account that is a member of Administrators.&amp;nbsp; The resulting app then runs &lt;STRONG&gt;&lt;EM&gt;as a different user&lt;/EM&gt;&lt;/STRONG&gt;.&amp;nbsp; A number of apps fail to take this second scenario into consideration.&amp;nbsp; “Dumbing down” the current process token is one example of that kind of failure.&amp;nbsp; The new program runs with reduced permissions, but &lt;STRONG&gt;&lt;EM&gt;not as the intended user&lt;/EM&gt;&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;There are at least a couple of other failures in that approach too, that are more obscure.&amp;nbsp; Let’s say you are a member of Administrators.&amp;nbsp; When you log on, the Windows LSA (Local Security Authority) generates two access tokens in two separate LSA-managed logon sessions.&amp;nbsp; One is the fully privileged, full-admin token; the other is the standard-user version, which is marked as linked to the full-admin token.&amp;nbsp; When you create a “dumbed-down” copy of the elevated one, the new token is still associated with the elevated session, and marked as being the “high half” of a split token.&amp;nbsp; As a result, if you start Internet Explorer with that token, Protected Mode will be disabled.&amp;nbsp; Also, if your “dumbed-down” process tries to launch an elevated app, it will simply launch the new process with the “dumbed-down” token, since it’s already marked as “elevated.”&lt;/P&gt;
&lt;H2&gt;“Enough nerditude.&amp;nbsp; Tell me what I need to do.”&lt;/H2&gt;
&lt;P&gt;So here’s one sequence that works well:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Enable the SeIncreaseQuotaPrivilege in your current token (&lt;A href="http://msdn.microsoft.com/en-us/library/aa446619.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/aa446619.aspx"&gt;sample&lt;/A&gt;) &lt;/LI&gt;
&lt;LI&gt;Get an HWND representing the desktop shell (&lt;A href="http://msdn.microsoft.com/en-us/ms633512(VS.85).aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/ms633512(VS.85).aspx"&gt;GetShellWindow&lt;/A&gt;) &lt;/LI&gt;
&lt;LI&gt;Get the Process ID (PID) of the process associated with that window (&lt;A href="http://msdn.microsoft.com/en-us/library/ms633522.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ms633522.aspx"&gt;GetWindowThreadProcessId&lt;/A&gt;) &lt;/LI&gt;
&lt;LI&gt;Open that process (&lt;A href="http://msdn.microsoft.com/en-us/library/ms684320(VS.85).aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ms684320(VS.85).aspx"&gt;OpenProcess&lt;/A&gt;) &lt;/LI&gt;
&lt;LI&gt;Get the access token from that process (&lt;A href="http://msdn.microsoft.com/en-us/library/aa379295.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/aa379295.aspx"&gt;OpenProcessToken&lt;/A&gt;) &lt;/LI&gt;
&lt;LI&gt;Make a primary token with that token (&lt;A href="http://msdn.microsoft.com/en-us/library/aa446617.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/aa446617.aspx"&gt;DuplicateTokenEx&lt;/A&gt;) &lt;/LI&gt;
&lt;LI&gt;Start the new process with that primary token (&lt;A href="http://msdn.microsoft.com/en-us/library/ms682434(VS.85).aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ms682434(VS.85).aspx"&gt;CreateProcessWithTokenW&lt;/A&gt;) &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;I’ve attached an example C++ project, built with VS2008 and the MFC AppWizard, and tested with x86 and x64 builds.&amp;nbsp; The meat of the sample is in &lt;STRONG&gt;RunAsDesktopUser_Implementation.cpp&lt;/STRONG&gt;.&amp;nbsp; I’m sure it can be done in managed code, but that will be someone else’s project, not mine.&lt;/P&gt;
&lt;H2&gt;Caveats&lt;/H2&gt;
&lt;P&gt;Please note that there are a bunch of caveats about this approach:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;This runs the new program in the same context as the desktop shell.&amp;nbsp; If the desktop shell process is not running (crashed or intentionally terminated), GetShellWindow fails, and there is no process token to do anything with.&amp;nbsp; Also, GetShellWindow fails if the default shell (Explorer) has been replaced with a custom shell. &lt;/LI&gt;
&lt;LI&gt;If you have terminated the desktop shell and restarted it elevated (&lt;EM&gt;strongly discouraged&lt;/EM&gt;), then the new process will also run elevated – as will pretty much everything else you start. &lt;/LI&gt;
&lt;LI&gt;This code assumes that it is running already elevated.&amp;nbsp; If you’re not running elevated, then there is no need for this code.&amp;nbsp; If you’re not running as admin, then the necessary step of enabling SeIncreaseQuotaPrivilege won’t work anyway. &lt;/LI&gt;
&lt;LI&gt;CreateProcessWithTokenW requires Vista or newer.&amp;nbsp; So:&amp;nbsp; this approach won’t work on pre-Vista (e.g., XP with runas); &lt;EM&gt;and &lt;/EM&gt;if you want to incorporate this code in a program that can run on XP/2003, you need to use LoadLibrary/GetProcAddress to get the CreateProcessWithTokenW entry point. &lt;/LI&gt;&lt;/UL&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9702517" width="1" height="1"&gt;</content><author><name>Aaron Margosis</name><uri>http://blogs.msdn.com/members/Aaron+Margosis.aspx</uri></author><category term="Vista/Win7" scheme="http://blogs.msdn.com/aaron_margosis/archive/tags/Vista_2F00_Win7/default.aspx" /></entry><entry><title>"LUA Bug" demo app</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/aaron_margosis/archive/2008/11/07/lua-bug-demo-app.aspx" /><link rel="enclosure" type="application/x-zip-compressed" length="33072" href="http://blogs.msdn.com/aaron_margosis/attachment/9052217.ashx" /><id>http://blogs.msdn.com/aaron_margosis/archive/2008/11/07/lua-bug-demo-app.aspx</id><published>2008-11-07T16:55:00Z</published><updated>2008-11-07T16:55:00Z</updated><content type="html">&lt;P&gt;I do a lot of presentations on how to identify and fix "LUA bugs" in applications (*), both for Windows XP and Windows Vista.&amp;nbsp; I frequently use a little VB6 application to demonstrate writing to various portions of the file system and registry, write to .ini files in protected locations, restart services, explicitly check for admin rights, etc.&amp;nbsp; People have asked me to post that app to my blog so that they can use it too.&amp;nbsp; So here it is, including the VB6 project/source code.&lt;/P&gt;
&lt;P&gt;As is, no support, hopefully it's self-explanatory!&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Chris Jackson has a more elaborate demo app with full lab script, geared toward application compatibility tools and techniques on Vista.&amp;nbsp; You can get it &lt;A class="" href="http://blogs.msdn.com/cjacks/archive/2008/01/03/stock-viewer-shim-demo-application.aspx" mce_href="http://blogs.msdn.com/cjacks/archive/2008/01/03/stock-viewer-shim-demo-application.aspx"&gt;here&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;(*)&amp;nbsp; "LUA" = "limited user account", a.k.a., "non-admin", "standard user"&lt;BR&gt;"LUA bugs" = application or feature of an application that 1) works when run by a member of Administrators or Power Users; 2) fails when run by a standard user; and 3) has no valid business or technical reason for requiring administrative control over the computer.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9052217" width="1" height="1"&gt;</content><author><name>Aaron Margosis</name><uri>http://blogs.msdn.com/members/Aaron+Margosis.aspx</uri></author><category term="Fixing LUA Bugs" scheme="http://blogs.msdn.com/aaron_margosis/archive/tags/Fixing+LUA+Bugs/default.aspx" /><category term="LUA Buglight" scheme="http://blogs.msdn.com/aaron_margosis/archive/tags/LUA+Buglight/default.aspx" /></entry><entry><title>LUA Buglight 2.0, second preview</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/aaron_margosis/archive/2008/11/06/lua-buglight-2-0-second-preview.aspx" /><link rel="enclosure" type="application/x-zip-compressed" length="761281" href="http://blogs.msdn.com/aaron_margosis/attachment/9049069.ashx" /><id>http://blogs.msdn.com/aaron_margosis/archive/2008/11/06/lua-buglight-2-0-second-preview.aspx</id><published>2008-11-06T17:05:00Z</published><updated>2008-11-06T17:05:00Z</updated><content type="html">&lt;P&gt;LUA Buglight is a utility that helps identify "LUA bugs" in applications -- application features that that fail as standard user but that work as administrator.&amp;nbsp; I work on it in my spare time, so progress has been slow.&amp;nbsp; Attached to this blog post is the second preview version of LUA Buglight 2.0.&lt;/P&gt;
&lt;P&gt;Main changes since the previous preview:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Single executable:&amp;nbsp; all the helper DLLs, EXEs, etc., are self-extracted to your temp folder when you run the program.&amp;nbsp; No need to copy lots of files around.&lt;/LI&gt;
&lt;LI&gt;For Vista:&amp;nbsp; the helper program that requires elevation is now signed, so you get the nicer elevation prompt.&amp;nbsp; The driver file for Vista is signed as well, so startup is much faster.&lt;/LI&gt;
&lt;LI&gt;Explicit check for x86 -- sorry, the current version cannot be used on 64-bit versions of Windows.&lt;/LI&gt;
&lt;LI&gt;Various bug fixes.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Some of the improvements of LUA Buglight 2.0 over 1.0:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Much better Vista support&lt;/LI&gt;
&lt;LI&gt;Streamlined UI and improved flow&lt;/LI&gt;
&lt;LI&gt;Identifies more bugs&lt;/LI&gt;
&lt;LI&gt;On XP, not restricted to using a local admin account to create the "this-user-as-admin" context&lt;/LI&gt;
&lt;LI&gt;On Vista, prompts for elevation just one time per session instead of for each test&lt;/LI&gt;
&lt;LI&gt;Log file names autogenerated with timestamp in the name to avoid accidental overwrite of previous logs.&lt;/LI&gt;
&lt;LI&gt;User options saved to the registry.&lt;/LI&gt;&lt;/UL&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9049069" width="1" height="1"&gt;</content><author><name>Aaron Margosis</name><uri>http://blogs.msdn.com/members/Aaron+Margosis.aspx</uri></author><category term="Fixing LUA Bugs" scheme="http://blogs.msdn.com/aaron_margosis/archive/tags/Fixing+LUA+Bugs/default.aspx" /><category term="LUA Buglight" scheme="http://blogs.msdn.com/aaron_margosis/archive/tags/LUA+Buglight/default.aspx" /></entry><entry><title>I'll be at Tech*Ed in Barcelona, Nov 3-7</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/aaron_margosis/archive/2008/10/28/i-ll-be-at-tech-ed-in-barcelona-nov-3-7.aspx" /><id>http://blogs.msdn.com/aaron_margosis/archive/2008/10/28/i-ll-be-at-tech-ed-in-barcelona-nov-3-7.aspx</id><published>2008-10-28T07:17:00Z</published><updated>2008-10-28T07:17:00Z</updated><content type="html">&lt;META content="Microsoft Word 12 (filtered)" name=Generator&gt;
&lt;STYLE&gt;@font-face {
	font-family: Cambria Math;
}
@font-face {
	font-family: Segoe UI;
}
@font-face {
	font-family: Verdana;
}
@page Section1 {size: 11.0in 8.5in; margin: 1.0in 1.0in 1.0in 1.0in; }
P.MsoNormal {
	FONT-SIZE: 11pt; MARGIN: 0in 0in 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: "Calibri","sans-serif"
}
LI.MsoNormal {
	FONT-SIZE: 11pt; MARGIN: 0in 0in 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: "Calibri","sans-serif"
}
DIV.MsoNormal {
	FONT-SIZE: 11pt; MARGIN: 0in 0in 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: "Calibri","sans-serif"
}
A:link {
	COLOR: blue; TEXT-DECORATION: underline
}
SPAN.MsoHyperlink {
	COLOR: blue; TEXT-DECORATION: underline
}
A:visited {
	COLOR: purple; TEXT-DECORATION: underline
}
SPAN.MsoHyperlinkFollowed {
	COLOR: purple; TEXT-DECORATION: underline
}
P {
	FONT-SIZE: 12pt; MARGIN-LEFT: 0in; MARGIN-RIGHT: 0in; FONT-FAMILY: "Times New Roman","serif"
}
.MsoPapDefault {
	MARGIN-BOTTOM: 10pt; LINE-HEIGHT: 115%
}
DIV.Section1 {
	page: Section1
}
&lt;/STYLE&gt;

&lt;DIV class=Section1&gt;
&lt;P class=MsoNormal style="LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'"&gt;I'm on the schedule to speak at Tech*Ed EMEA in Barcelona the week of November 3-7.&amp;nbsp; I've got three sessions listed below (sharing CLI08-IS with &lt;A href="http://blogs.msdn.com/cjacks/" mce_href="http://blogs.msdn.com/cjacks/"&gt;Chris Jackson&lt;/A&gt;):&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;TABLE class=MsoNormalTable style="BORDER-COLLAPSE: collapse" cellSpacing=0 cellPadding=0 border=1 class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0.75pt; BORDER-TOP: medium none; PADDING-LEFT: 0.75pt; BACKGROUND: #5191cd; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: medium none; PADDING-TOP: 0.75pt; BORDER-BOTTOM: medium none"&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 9pt; COLOR: white; FONT-FAMILY: 'Verdana','sans-serif'"&gt;Code &lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0.75pt; BORDER-TOP: medium none; PADDING-LEFT: 0.75pt; BACKGROUND: #5191cd; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: medium none; PADDING-TOP: 0.75pt; BORDER-BOTTOM: medium none"&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 9pt; COLOR: white; FONT-FAMILY: 'Verdana','sans-serif'"&gt;Title &lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0.75pt; BORDER-TOP: medium none; PADDING-LEFT: 0.75pt; BACKGROUND: #5191cd; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: medium none; PADDING-TOP: 0.75pt; BORDER-BOTTOM: medium none"&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 9pt; COLOR: white; FONT-FAMILY: 'Verdana','sans-serif'"&gt;Date/Time &lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0.75pt; BORDER-TOP: medium none; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: medium none; PADDING-TOP: 0.75pt; BORDER-BOTTOM: medium none" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Segoe UI','sans-serif'"&gt;CLI403&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0.75pt; BORDER-TOP: medium none; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: medium none; PADDING-TOP: 0.75pt; BORDER-BOTTOM: medium none" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Segoe UI','sans-serif'"&gt;Tools for Identifying "LUA Bugs" (Admin-Permissions-Required Bugs)&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0.75pt; BORDER-TOP: medium none; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: medium none; PADDING-TOP: 0.75pt; BORDER-BOTTOM: medium none" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Segoe UI','sans-serif'"&gt;November 6 18:00 - 19:15&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0.75pt; BORDER-TOP: medium none; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: medium none; PADDING-TOP: 0.75pt; BORDER-BOTTOM: medium none" colSpan=3&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal"&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Segoe UI','sans-serif'"&gt;Lots of programs were designed by developers running as admin for users running as admin, and lots of those programs break when you try to run as a standard user. This session discusses and demonstrates various tools to identify the specific causes of those failures so that they can be fixed. This helps avoid insecure overkill fixes like granting "Full Control" to the program's installation folder.&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Segoe UI','sans-serif'"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0.75pt; BORDER-TOP: medium none; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: medium none; PADDING-TOP: 0.75pt; BORDER-BOTTOM: medium none" colSpan=3&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0.75pt; BORDER-TOP: medium none; PADDING-LEFT: 0.75pt; BACKGROUND: lightgrey; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: medium none; PADDING-TOP: 0.75pt; BORDER-BOTTOM: medium none" colSpan=3&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0.75pt; BORDER-TOP: medium none; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: medium none; PADDING-TOP: 0.75pt; BORDER-BOTTOM: medium none" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Segoe UI','sans-serif'"&gt;CLI402&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0.75pt; BORDER-TOP: medium none; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: medium none; PADDING-TOP: 0.75pt; BORDER-BOTTOM: medium none" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Segoe UI','sans-serif'"&gt;Vista Security Weirdness: MIC, UIPI, Protected Mode IE&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0.75pt; BORDER-TOP: medium none; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: medium none; PADDING-TOP: 0.75pt; BORDER-BOTTOM: medium none" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Segoe UI','sans-serif'"&gt;November 5 17:30 - 18:45&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0.75pt; BORDER-TOP: medium none; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: medium none; PADDING-TOP: 0.75pt; BORDER-BOTTOM: medium none" colSpan=3&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal"&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Segoe UI','sans-serif'"&gt;Dig into the architecture, purposes and real-world manifestations of the new technologies in Windows Vista and how they impact application compatibility. This session dives into Mandatory Integrity Control (MIC), User Interface Privilege Isolation (UIPI), Protected Mode Internet Explorer, and why customers should not disable UAC. Learn how PMIE's "virtualization" is completely different from UAC's file and registry virtualization.&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Segoe UI','sans-serif'"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0.75pt; BORDER-TOP: medium none; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: medium none; PADDING-TOP: 0.75pt; BORDER-BOTTOM: medium none" colSpan=3&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0.75pt; BORDER-TOP: medium none; PADDING-LEFT: 0.75pt; BACKGROUND: lightgrey; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: medium none; PADDING-TOP: 0.75pt; BORDER-BOTTOM: medium none" colSpan=3&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0.75pt; BORDER-TOP: medium none; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: medium none; PADDING-TOP: 0.75pt; BORDER-BOTTOM: medium none" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Segoe UI','sans-serif'"&gt;CLI08-IS&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0.75pt; BORDER-TOP: medium none; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: medium none; PADDING-TOP: 0.75pt; BORDER-BOTTOM: medium none" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Segoe UI','sans-serif'"&gt;Does it Work? Fixing Applications One at a Time and Thousands at a Time&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0.75pt; BORDER-TOP: medium none; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: medium none; PADDING-TOP: 0.75pt; BORDER-BOTTOM: medium none" vAlign=top&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Segoe UI','sans-serif'"&gt;November 7 10:45 - 12:00&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0.75pt; BORDER-TOP: medium none; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: medium none; PADDING-TOP: 0.75pt; BORDER-BOTTOM: medium none" colSpan=3&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal"&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Segoe UI','sans-serif'"&gt;Join Aaron Margosis, the Guru of Non-Admin, and Chris Jackson, the Guy Who Fixes Things, for a tale of the adventures they have had in years of fighting the nastiest compatibility problems both with moving to standard user desktops and to Windows Vista. Hear how they solved daunting challenges using ACT, LUA Buglight, Sysinternals tools and the Debugging Tools for Windows. Share lessons learned, not only for the technical challenges of resolving issues with a single application but the logistical challenges of fixing thousands of them.&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Segoe UI','sans-serif'"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: #1f497d; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: #1f497d; FONT-FAMILY: 'Times New Roman','serif'"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'"&gt;I'm also participating in a Springboard Series Bloggers Panel:&amp;nbsp; "Straight Talk About Windows OS Adoption":&lt;/SPAN&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;EM&gt;Join in a live, interactive discussion with Microsoft Bloggers as they tackle current challenges surrounding Windows OS adoption. Learn about workarounds, tips and tricks, and leveraging Springboard Series resources to assist with each phase of the adoption and deployment lifecycle.&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'"&gt;The panelists include &lt;A class="" href="http://blogs.msdn.com/cjacks/" mce_href="http://blogs.msdn.com/cjacks/"&gt;Chris Jackson&lt;/A&gt;, Jeremy Chapman, Ken Rosen, the lovely and talented &lt;A class="" href="http://blogs.technet.com/steriley/" mce_href="http://blogs.technet.com/steriley/"&gt;Steve Riley&lt;/A&gt;, and it's moderated by Stephen Rose.&amp;nbsp; The panel is on Wednesday, November 5 from noon to 1pm at the TechEd Online Stage.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9019692" width="1" height="1"&gt;</content><author><name>Aaron Margosis</name><uri>http://blogs.msdn.com/members/Aaron+Margosis.aspx</uri></author></entry><entry><title>The Return of PrivBar (x86 and x64)</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/aaron_margosis/archive/2008/08/15/the-return-of-privbar-x86-and-x64.aspx" /><id>http://blogs.msdn.com/aaron_margosis/archive/2008/08/15/the-return-of-privbar-x86-and-x64.aspx</id><published>2008-08-15T09:17:00Z</published><updated>2008-08-15T09:17:00Z</updated><content type="html">&lt;P&gt;I recently switched internet service providers, not realizing when I did that &lt;A class="" href="http://blogs.msdn.com/aaron_margosis/archive/2004/07/24/195350.aspx" mce_href="http://blogs.msdn.com/aaron_margosis/archive/2004/07/24/195350.aspx"&gt;PrivBar&lt;/A&gt; and &lt;A class="" href="http://blogs.msdn.com/aaron_margosis/archive/2004/07/24/193721.aspx" mce_href="http://blogs.msdn.com/aaron_margosis/archive/2004/07/24/193721.aspx"&gt;MakeMeAdmin&lt;/A&gt; would suddenly disappear from the internet when they un-provisioned my space on their servers.&amp;nbsp; Oops.&lt;/P&gt;
&lt;P&gt;To try to compensate you for the inconvenience, PrivBar is now available once again,&amp;nbsp;now in x86 &lt;EM&gt;and&lt;/EM&gt; x64 versions.&amp;nbsp; So if you are running an x64 version of Windows (XP or higher), you can now use PrivBar in all Explorer and Internet Explorer windows.&amp;nbsp; (It will also tell you whether that particular instance is running 32-bit or 64-bit code.)&lt;/P&gt;
&lt;P&gt;Note that by default on x64, Explorer.exe is 64-bit, but IE is 32-bit; but there are, in fact, 32-bit and 64-bit versions of both programs.&amp;nbsp; A 32-bit process can load only 32-bit DLLs, and a 64-bit process can load only 64-bit DLLs.&amp;nbsp; The main IE icons you see point to the 32-bit versions, because the vast majority of IE add-ons, ActiveX controls, etc., are 32-bit:&amp;nbsp; the 64-bit version of IE cannot load those ActiveX controls, so sites like youtube don't do much.&lt;/P&gt;
&lt;P&gt;Click &lt;A class="" href="http://aaronmargosis.members.winisp.net/PrivBar/PrivBar.1.0.3.0.zip" mce_href="http://aaronmargosis.members.winisp.net/PrivBar/PrivBar.1.0.3.0.zip"&gt;here&lt;/A&gt; for the PrivBar binaries; click &lt;A class="" href="http://aaronmargosis.members.winisp.net/PrivBar/PrivBar_source.1.0.3.0.zip" mce_href="http://aaronmargosis.members.winisp.net/PrivBar/PrivBar_source.1.0.3.0.zip"&gt;here&lt;/A&gt; if you want the slightly-updated source code and Visual Studio 2008 project files.&lt;/P&gt;
&lt;P&gt;Instructions:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Extract PrivBar.dll from &lt;A class="" href="http://aaronmargosis.members.winisp.net/PrivBar/PrivBar.1.0.3.0.zip" mce_href="http://aaronmargosis.members.winisp.net/PrivBar/PrivBar.1.0.3.0.zip"&gt;the zip file&lt;/A&gt; and put it somewhere where all users have Read access to it.&amp;nbsp; If you're running an x64 version of Windows, extract PrivBarX64.dll to the same location.&lt;/LI&gt;
&lt;LI&gt;At a command prompt running as admin, run&lt;BR&gt;&lt;FONT face="courier new"&gt;&lt;STRONG&gt;regsvr32 &lt;I&gt;path&lt;/I&gt;\PrivBar.dll&lt;/STRONG&gt;&lt;/FONT&gt;&lt;BR&gt;where &lt;FONT face="courier new"&gt;&lt;I&gt;&lt;STRONG&gt;path&lt;/STRONG&gt;&lt;/I&gt;&lt;/FONT&gt; is the folder location to which you extracted PrivBar.dll.&amp;nbsp; If you're running x64, do the same with PrivBarX64.dll.&amp;nbsp; Note that you have to be running as (fully-elevated) admin in order to do this, and that trying to register the x64 version on 32-bit Windows will fail.&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;No need for the extra .reg file anymore.&amp;nbsp; You can now enable the bar in Explorer or in IE by choosing View / Toolbars / PrivBar, as before.&lt;/P&gt;
&lt;P&gt;(BTW -- MakeMeAdmin is back online, too.)&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8868889" width="1" height="1"&gt;</content><author><name>Aaron Margosis</name><uri>http://blogs.msdn.com/members/Aaron+Margosis.aspx</uri></author><category term="Non-admin" scheme="http://blogs.msdn.com/aaron_margosis/archive/tags/Non-admin/default.aspx" /><category term="Vista/Win7" scheme="http://blogs.msdn.com/aaron_margosis/archive/tags/Vista_2F00_Win7/default.aspx" /></entry><entry><title>LUA Buglight 2.0 - preview</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/aaron_margosis/archive/2008/06/13/lua-buglight-2-0-preview.aspx" /><id>http://blogs.msdn.com/aaron_margosis/archive/2008/06/13/lua-buglight-2-0-preview.aspx</id><published>2008-06-13T07:04:00Z</published><updated>2008-06-13T07:04:00Z</updated><content type="html">&lt;P&gt;Attached to this blog post is a &lt;EM&gt;PREVIEW VERSION&lt;/EM&gt; of LUA Buglight 2.0.&amp;nbsp; LUA Buglight is a utility that helps identify "LUA bugs" in desktop applications -- the bugs that appear when the application is run as a standard user instead of as an administrator.&lt;/P&gt;
&lt;P&gt;Some of the improvements in LUA Buglight 2.0 over its predecessor:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Much better Vista support&lt;/LI&gt;
&lt;LI&gt;Streamlined&amp;nbsp;UI and improved flow&lt;/LI&gt;
&lt;LI&gt;Identifies more bugs&lt;/LI&gt;
&lt;LI&gt;On XP, not restricted to using a local account to create the admin context&lt;/LI&gt;
&lt;LI&gt;On Vista, prompts for elevation just one time per session instead of for each test&lt;/LI&gt;
&lt;LI&gt;User options saved to the registry&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;There are more improvements and refinements that I want to make, but I think you'll find it is quite usable now.&amp;nbsp; And I promised some audiences here at Tech*Ed that I would post a preview version here prior to my Friday morning session introducing LUA Buglight 2.0. :-)&lt;/P&gt;
&lt;P&gt;Note that I haven't written up new documentation yet, and that these binaries have not been signed yet.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Update, June 14:&amp;nbsp; &lt;/EM&gt;&lt;/STRONG&gt;Yes - meant to mention - LUA Buglight is designed only&amp;nbsp;for x86.&amp;nbsp; I'll add a processor check on startup.&lt;/P&gt;
&lt;P&gt;&lt;FONT size=+1&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;FONT color=red&gt;Update, November 6:&lt;/FONT&gt;&lt;/EM&gt;&lt;/STRONG&gt;&amp;nbsp; Removing the attachment, because the Second Preview version is now available &lt;A class="" href="http://blogs.msdn.com/aaron_margosis/archive/2008/11/06/lua-buglight-2-0-second-preview.aspx" mce_href="http://blogs.msdn.com/aaron_margosis/archive/2008/11/06/lua-buglight-2-0-second-preview.aspx"&gt;here&lt;/A&gt;.&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8594021" width="1" height="1"&gt;</content><author><name>Aaron Margosis</name><uri>http://blogs.msdn.com/members/Aaron+Margosis.aspx</uri></author><category term="Fixing LUA Bugs" scheme="http://blogs.msdn.com/aaron_margosis/archive/tags/Fixing+LUA+Bugs/default.aspx" /><category term="LUA Buglight" scheme="http://blogs.msdn.com/aaron_margosis/archive/tags/LUA+Buglight/default.aspx" /><category term="Vista/Win7" scheme="http://blogs.msdn.com/aaron_margosis/archive/tags/Vista_2F00_Win7/default.aspx" /></entry><entry><title>Published - Security by Obscurity, and FDCC</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/aaron_margosis/archive/2008/05/30/published-security-by-obscurity-and-fdcc.aspx" /><id>http://blogs.msdn.com/aaron_margosis/archive/2008/05/30/published-security-by-obscurity-and-fdcc.aspx</id><published>2008-05-31T00:04:00Z</published><updated>2008-05-31T00:04:00Z</updated><content type="html">&lt;P&gt;In case I actually have any &lt;EM&gt;fans&lt;/EM&gt; that are interested in things I've written outside of this blog (must be sick people)... I recently contributed a sidebar to the cover story of this month's TechNet Magazine:&amp;nbsp; &lt;A class="" href="http://technet.microsoft.com/en-us/magazine/cc510319.aspx" mce_href="http://technet.microsoft.com/en-us/magazine/cc510319.aspx"&gt;Hiding in Plain Sight - Security By Obscurity&lt;/A&gt;.&amp;nbsp; Jesper Johansson and Roger Grimes wrote the main point/counterpoint, to which Steve Riley and I contributed further debate.&amp;nbsp; (By the way:&amp;nbsp; Roger is right.&amp;nbsp; Jesper and Steve are wrong. :-)&lt;/P&gt;
&lt;P&gt;I've also been keeping busy helping US Federal government customers with the implementation of the &lt;A class="" href="http://www.microsoft.com/industry/government/solutions/FDCC/get_info.mspx" mce_href="http://www.microsoft.com/industry/government/solutions/FDCC/get_info.mspx"&gt;Federal Desktop Core Configuration&lt;/A&gt;.&amp;nbsp; My fingerprints can be seen in various posts on our &lt;A class="" href="http://blogs.technet.com/fdcc/" mce_href="http://blogs.technet.com/fdcc/"&gt;FDCC blog&lt;/A&gt;&amp;nbsp;where I've published some &lt;A class="" href="http://blogs.technet.com/fdcc/pages/LGPO-Utilities.aspx" mce_href="http://blogs.technet.com/fdcc/pages/LGPO-Utilities.aspx"&gt;utilities for managing Local Group Policy&lt;/A&gt;, and presented some webcasts, too.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8564409" width="1" height="1"&gt;</content><author><name>Aaron Margosis</name><uri>http://blogs.msdn.com/members/Aaron+Margosis.aspx</uri></author></entry><entry><title>Info about LUA Buglight 2.0</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/aaron_margosis/archive/2008/05/09/info-about-lua-buglight-2-0.aspx" /><id>http://blogs.msdn.com/aaron_margosis/archive/2008/05/09/info-about-lua-buglight-2-0.aspx</id><published>2008-05-09T23:09:00Z</published><updated>2008-05-09T23:09:00Z</updated><content type="html">&lt;P&gt;I recently did a TechNet webcast about the upcoming LUA Buglight 2.0.&lt;/P&gt;
&lt;P&gt;You can view the webcast &lt;A class="" href="http://go.microsoft.com/?linkid=8787898" mce_href="http://go.microsoft.com/?linkid=8787898"&gt;here&lt;/A&gt;, and download the slides &lt;A class="" href="http://go.microsoft.com/?linkid=8523932" mce_href="http://go.microsoft.com/?linkid=8523932"&gt;here&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8481805" width="1" height="1"&gt;</content><author><name>Aaron Margosis</name><uri>http://blogs.msdn.com/members/Aaron+Margosis.aspx</uri></author><category term="LUA Buglight" scheme="http://blogs.msdn.com/aaron_margosis/archive/tags/LUA+Buglight/default.aspx" /></entry><entry><title>I'll be speaking at Tech*Ed in June</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/aaron_margosis/archive/2008/03/16/i-ll-be-speaking-at-tech-ed-in-june.aspx" /><id>http://blogs.msdn.com/aaron_margosis/archive/2008/03/16/i-ll-be-speaking-at-tech-ed-in-june.aspx</id><published>2008-03-16T07:26:00Z</published><updated>2008-03-16T07:26:00Z</updated><content type="html">&lt;P&gt;I'm speaking at &lt;A class="" href="http://www.microsoft.com/events/teched2008/default.mspx" mce_href="http://www.microsoft.com/events/teched2008/default.mspx"&gt;Tech*Ed North America 2008&lt;/A&gt;, during the &lt;A class="" href="http://www.microsoft.com/events/teched2008/itpro/default.mspx" mce_href="http://www.microsoft.com/events/teched2008/itpro/default.mspx"&gt;"IT Professionals" week&lt;/A&gt;, June 10-13.&amp;nbsp; I'll be presenting SIX (6) sessions, all on non-admin / least-privilege and the resulting application compatibility issues that arise.&amp;nbsp; (When I started my "non-admin" blog back in 2004, it was all about security.&amp;nbsp; Now that least-privilege has increasingly become the default, it has become much more about application compatibility.)&lt;/P&gt;
&lt;P&gt;Specific dates/times and session numbers to be determined:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;EM&gt;&lt;STRONG&gt;Finding Permissions Issues with LUA Buglight 2.0&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR&gt;I've been working on an update to LUA Buglight and will discuss/demo it.&amp;nbsp; (I hope to have something you can download and run by then -- can't promise, though.)&lt;BR&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;EM&gt;&lt;STRONG&gt;Fixing "LUA Bugs" (Admin-Permissions-Required Bugs)&lt;BR&gt;&lt;/STRONG&gt;&lt;/EM&gt;Similar to the "Fixing LUA Bugs" series on my blog, but updated with more info pertinent to Vista and additional information regarding app-compat shims&lt;BR&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;EM&gt;Identifying "LUA Bugs" (Admin-Permissions-Required Bugs)&lt;BR&gt;&lt;/EM&gt;&lt;/STRONG&gt;Comparing/constrasting Sysinternals Process Monitor, Standard User Analyzer and LUA Buglight for identifying root causes of LUA bugs&lt;BR&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;EM&gt;Windows Vista App-Compat Topics: MIC, UIPI, Protected Mode IE&lt;BR&gt;&lt;/EM&gt;&lt;/STRONG&gt;Mandatory Integrity Control, User Interface Privilege Isolation, Protected Mode Internet Explorer, what they are and how they impact application compatibility&lt;BR&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;EM&gt;Miscellaneous App-Compat/Architecture Topics: Terminal Services Sessions vs. Logon Sessions; Where Mapped Drives are Defined, and More&lt;BR&gt;&lt;/EM&gt;&lt;/STRONG&gt;Some really nerdy deep-dive stuff that is actually worth knowing.&lt;BR&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;EM&gt;How We Got Where We Are: Why Windows Has Traditionally Required Admin Rights&lt;BR&gt;&lt;/EM&gt;&lt;/STRONG&gt;Vista makes a big shift in how users interact with their computers and how developers have to write code for those users.&amp;nbsp; Why couldn't "least-privilege" have been the default from the beginning?&amp;nbsp; This session explains the decisions that were made and why those decisions made sense.&amp;nbsp; (Most sessions talk about current or near-future technologies -- this is all history stuff.&amp;nbsp; I'm really looking forward to this one.)&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;All of them are 400-level, except the last which is a 200-level session.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8238340" width="1" height="1"&gt;</content><author><name>Aaron Margosis</name><uri>http://blogs.msdn.com/members/Aaron+Margosis.aspx</uri></author></entry><entry><title>Why apps have security bugs ([attempted] humor)</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/aaron_margosis/archive/2008/03/03/why-apps-have-security-bugs-attempted-humor.aspx" /><id>http://blogs.msdn.com/aaron_margosis/archive/2008/03/03/why-apps-have-security-bugs-attempted-humor.aspx</id><published>2008-03-03T20:05:00Z</published><updated>2008-03-03T20:05:00Z</updated><content type="html">&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman" size=3&gt;One reason why apps have security bugs&amp;nbsp;-- because we developers were trained to focus on and typically only ever focused on how legitimate users will use the product&amp;nbsp;-- we never used to have to think about misuse!&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman" size=3&gt;A couple of years ago I wrote up a little skit.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It’s a software developer and a Quality Assurance (QA) guy, circa 1993.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;I play the developer and &lt;A class="" href="http://blogs.technet.com/steriley/default.aspx" mce_href="http://blogs.technet.com/steriley/default.aspx"&gt;Steve Riley&lt;/A&gt; plays the QA guy.&lt;/FONT&gt;&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 1pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; mso-element: para-border-div; mso-border-bottom-alt: solid windowtext .75pt"&gt;
&lt;P class=MsoNormal style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; MARGIN: 0in 0in 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0in; BORDER-BOTTOM: medium none; mso-padding-alt: 0in 0in 1.0pt 0in; mso-border-bottom-alt: solid windowtext .75pt"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;QA Guy (imitating Newman from the TV show "Seinfeld"):&lt;/I&gt;&amp;nbsp; Hello, Jerry.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;Dev (imitating Jerry Seinfeld, with derision):&lt;/I&gt; &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Hello, Newman.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;QA Guy:&lt;/I&gt;&amp;nbsp; How are you today?&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;Dev:&lt;/I&gt;&amp;nbsp; How am I?&amp;nbsp; I &lt;I&gt;was&lt;/I&gt; fine.&amp;nbsp; But now I have a QA guy in my cubicle.&amp;nbsp; The only clearer sign I could possibly receive that my life was about to take a downward turn would be to receive an invitation to appear on the Jerry Springer show.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;QA Guy:&lt;/I&gt;&amp;nbsp; Good guess!&amp;nbsp; I found a &lt;I&gt;serious&lt;/I&gt; bug in your program.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;Dev:&lt;/I&gt;&amp;nbsp; Serious?&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;QA Guy:&lt;/I&gt;&amp;nbsp; Yep.&amp;nbsp; I found that if I entered a last name of 33 characters or more, the program crashes.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;Dev:&lt;/I&gt;&amp;nbsp; That’s serious?&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;QA Guy:&lt;/I&gt;&amp;nbsp; Yes, it’s serious.&amp;nbsp; The program crashes!&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;Dev:&lt;/I&gt;&amp;nbsp; Yeah, but it will never happen.&amp;nbsp; No one has a last name that long.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;QA Guy:&lt;/I&gt;&amp;nbsp; Someone could.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;Dev:&lt;/I&gt;&amp;nbsp; OK, I’ll make the buffer 40 characters instead.&amp;nbsp; That should be more than enough.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;QA Guy:&lt;/I&gt;&amp;nbsp; Yeah, but then a 41 character name will crash it.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;Dev:&lt;/I&gt;&amp;nbsp; So put something in the manual that says that last names can’t be more than 40 characters!&amp;nbsp; Jeez!&amp;nbsp; It will never happen, OK?&amp;nbsp; These edge cases don’t matter.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;QA Guy:&lt;/I&gt;&amp;nbsp; Of course they do – someone could crash it on purpose.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;Dev:&lt;/I&gt;&amp;nbsp; What?&amp;nbsp; Why would anyone do that?&amp;nbsp; First of all, our customers are paying good money for our product.&amp;nbsp; Why would they then deliberately misuse it and make it crash on purpose?&amp;nbsp; And second of all, it’s running on NetWare – it crashes all the time on its own anyway, without any help!&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;QA Guy:&lt;/I&gt;&amp;nbsp; Well, that’s true – maybe we ought to switch to Windows NT. (laughs)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;Dev:&lt;/I&gt;&amp;nbsp; &lt;EM&gt;(laughs)&lt;/EM&gt; Oh, yeah, Windows NT 3.1, &lt;I&gt;there’s&lt;/I&gt; a pillar of stability.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;QA Guy:&lt;/I&gt;&amp;nbsp; Uh huh – and performance.&amp;nbsp; &lt;EM&gt;(laughs)&lt;/EM&gt;&amp;nbsp; What a joke!&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;Dev:&lt;/I&gt;&amp;nbsp; Yeah.&amp;nbsp; But you know, I’m seeing more RFPs lately that specify that "the server platform must include Solitaire".&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;QA Guy:&lt;/I&gt;&amp;nbsp; Ha ha!&amp;nbsp; Windows NT will never amount to anything.&amp;nbsp; A dozen years from now no one will even remember that it ever existed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;Dev:&lt;/I&gt;&amp;nbsp; Yep.&amp;nbsp; The future obviously belongs to NetWare.&amp;nbsp; &lt;BR&gt;OK, so are we done here with this so-called bug of yours?&amp;nbsp; No one’s going to crash the server on purpose, OK?&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;QA Guy:&lt;/I&gt;&amp;nbsp; Sure they would.&amp;nbsp; They could take advantage of your buffer overrun to inject code into the system.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;Dev:&lt;/I&gt;&amp;nbsp; Oh, now &lt;I&gt;this&lt;/I&gt; is an advance in computing that I was hitherto completely ignorant of.&amp;nbsp; I’ve seen computers that ship with monitors, and keyboards, and even tape backup, but I had never heard of one that ships with a syringe!&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;QA Guy:&lt;/I&gt;&amp;nbsp; It goes like this:&amp;nbsp; The attacker sends more data than your buffer can hold, thus overwriting the return address on the stack with a pointer back into the buffer, which now contains malicious code sent by the attacker.&amp;nbsp; The attacker now runs code of his choosing on your server.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;Dev (stares at QA guy for a while, before replying):&lt;/I&gt;&amp;nbsp; I think that hair dye has leached into your brain.&amp;nbsp; Gee you know, it’s hard enough to get &lt;I&gt;our&lt;/I&gt; code deployed – maybe we should use “code injection” instead.&amp;nbsp; Look, Steve, we’ve got a ton of features we still have to implement and a ridiculous deadline.&amp;nbsp; The server’s only got 2MB of RAM – we can’t afford the time to code up all these extra checks, and we can’t absorb the performance penalty of running them either.&amp;nbsp; This isn’t a bug.&amp;nbsp; The program works as designed.&amp;nbsp; If you want to go find &lt;I&gt;real&lt;/I&gt; bugs, why don’t you go after that new guy we hired, &lt;A class="" href="http://msinfluentials.com/blogs/jesper/default.aspx" mce_href="http://msinfluentials.com/blogs/jesper/default.aspx"&gt;Jesper Jo-whatever-his-name-is&lt;/A&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.5in"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face="Times New Roman" size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8006010" width="1" height="1"&gt;</content><author><name>Aaron Margosis</name><uri>http://blogs.msdn.com/members/Aaron+Margosis.aspx</uri></author></entry><entry><title>How to cleanly stop Explorer.exe on Windows Vista</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/aaron_margosis/archive/2007/07/17/how-to-cleanly-stop-explorer-exe-on-windows-vista.aspx" /><id>http://blogs.msdn.com/aaron_margosis/archive/2007/07/17/how-to-cleanly-stop-explorer-exe-on-windows-vista.aspx</id><published>2007-07-18T00:08:00Z</published><updated>2007-07-18T00:08:00Z</updated><content type="html">&lt;P&gt;This is the first time I have blogged here about something other than running with least privilege. It's about a neat trick, though, that can be useful for some people. &lt;/P&gt;
&lt;P&gt;If you need to shut down the main Explorer process, you &lt;EM&gt;could&lt;/EM&gt; just kill it from Task Manager or &lt;A href="http://www.microsoft.com/technet/sysinternals/utilities/processexplorer.mspx" mce_href="http://www.microsoft.com/technet/sysinternals/utilities/processexplorer.mspx"&gt;Process Explorer&lt;/A&gt;. But undesirable and unpredictable things can happen when you abruptly kill &lt;EM&gt;any&lt;/EM&gt; process, particularly one as central as Explorer. &lt;/P&gt;
&lt;P&gt;In Windows XP, you can get Explorer to exit cleanly by getting to the shutdown dialog (e.g., Start / Turn Off Computer, or Start/Shutdown), then hold down the Ctrl+Alt+Shift keys and click the "Cancel" button. (Ref: &lt;A href="http://blogs.msdn.com/jeffdav/archive/2004/07/22/191636.aspx" mce_href="http://blogs.msdn.com/jeffdav/archive/2004/07/22/191636.aspx"&gt;JeffDav's blog&lt;/A&gt;.) &lt;/P&gt;
&lt;P&gt;In Windows Vista with its standard Start Menu, click on the Start button. Hold down Ctrl+Shift and right-click on any empty area of the menu or on the power/lock buttons at the bottom of the right half of the menu. One of the context menu choices is "Exit Explorer". Choose this and the main Explorer process will cleanly shut itself down. (Thanks to Mike Sheldon and Raymond Chen for this tip.) &lt;/P&gt;
&lt;P&gt;If you are using the "Classic Start Menu" option in Vista, the XP Ctrl+Alt+Shift+Cancel method still works. &lt;/P&gt;
&lt;P&gt;OK, so chances are right now you're looking at nothing but wallpaper and the Sidebar and wondering, "What do I do now?" There's no Start menu anymore, and Win+R doesn't display the Run dialog. Answer: press Ctrl+Shift+Esc. This starts Task Manager. In Task Manager, choose "File / New Task (Run)", type "Explorer" and click OK. The shell will come back to life. &lt;/P&gt;
&lt;P&gt;Note that on both Windows XP and Windows Vista, only the "main" Explorer process exits – that is, the process that manages the Start menu, taskbar, and desktop. With default settings, all Explorer folder windows are managed by that process as well, and so they will close too. However, if you have configured Explorer to "launch folder windows in a separate process", then those folder windows will not close when you apply this trick. Furthermore, when I tried this on Windows XP, I needed to manually close all those folder windows before running a new instance of Explorer would display the taskbar, etc., instead of just displaying yet another folder window. &lt;/P&gt;
&lt;P&gt;Why is this hidden nugget even there? Its purpose is to help developers and testers who work on shell extensions to be able to stop and restart Explorer quickly and cleanly without having to log out. &lt;/P&gt;
&lt;P&gt;Obviously, though, this trick can also be used to launch Explorer elevated. If you've exited the shell process and start Explorer from an elevated context, the &lt;EM&gt;entire desktop shell&lt;/EM&gt; will run elevated. &lt;STRONG&gt;I cannot say this without adding caveats.&lt;/STRONG&gt; If you do this, &lt;EM&gt;everything&lt;/EM&gt; you start from this point on will run elevated. Shell extensions will run elevated, including the ones with serious security flaws. If you shut down Explorer again, any child processes that were launched will continue to run elevated, including browsers, IM clients, etc., with all the risk that incurs. IE Protected Mode does not operate when IE is running elevated. Less important but also significant is that any processes running at Medium IL will not be able to interact with the elevated shell – for example, to display taskbar notification icons. In general, because Explorer was neither designed for nor tested with this kind of elevated execution, you should not assume that &lt;EM&gt;anything&lt;/EM&gt; will work correctly, including something as fundamental as user logoff. If you &lt;EM&gt;really&lt;/EM&gt; need an elevated Explorer window on Vista, you can try the unsupported trick I described in &lt;A href="http://blogs.msdn.com/aaron_margosis/archive/2007/06/28/and-so-this-is-vista.aspx" mce_href="http://blogs.msdn.com/aaron_margosis/archive/2007/06/28/and-so-this-is-vista.aspx"&gt;this post&lt;/A&gt; instead of elevating the entire shell.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3924164" width="1" height="1"&gt;</content><author><name>Aaron Margosis</name><uri>http://blogs.msdn.com/members/Aaron+Margosis.aspx</uri></author><category term="Vista/Win7" scheme="http://blogs.msdn.com/aaron_margosis/archive/tags/Vista_2F00_Win7/default.aspx" /></entry></feed>