Managing the Windows 7 Program Compatibility Assistant (PCA)

I wanted to document a bit of detail about managing the Program Compatibility Assistant, a bit of technology we added for Windows Vista and have been enhancing since that time – I figured it was probably time that we came out with an update for Windows 7. What motivated this was a series of conversations…


Is UAC Virtualization Enabled for Internet Explorer in Protected Mode?

I’ve been spending a lot of time “getting to know” Internet Explorer lately, and one topic that I wanted to understand a bit more deeply is precisely how file and registry virtualization in protected mode works. If you look at the outcome of virtualization events, here is what you see:   Protected Mode On Protected…


Using the uiAccess attribute of requestedExecutionLevel to Improve Applications Providing Remote Control of the Desktop

I’ve run into this exact same problem 3 times now in one week, so I figure that probably doesn’t bode well and I should attempt to do something about it. With 3 different pieces of software (one of them ours), the remote control functionality is imperfectly implemented. Let’s see if this sounds familiar to anyone….


Understanding the AdditiveRunAsHighest Flag on Windows 7

This post corrects an error from a previous post. Back when I was explaining the changes in the operating system layers for Windows 7, I incorrectly described the AdditiveRunAsHighest. Since RunAsHighest is already confusing enough, and AdditiveRunAsHighest is even more confusing (even I got it wrong), I want to make sure I actually get it…


The Curious Case of the Redundant UAC Policies

One of the unfortunate consequences of actually having to ship your software at some point is that you have to make some compromises along the way. The decisions you make can vary based on the time you are called upon to make them. As frustrating as that is for somebody who is trying to understand…


How to Run Applications Manifested as HighestAvailable With a Logon Script Without Elevation for Members of the Administrators Group

Updated 17-Sept-2009 My friend Aaron has been trying to post a comment with his recommendation. However, it never, never, ever shows up because apparently we either don’t buy good software for our blogging system, or else the software has a personal vendetta from him (perhaps it’s angry at him for not posting often enough himself)….


Why Do Some Operating System Modes Include AdditiveRunAsHighest While Others Do Not?

A little while back, those of us who explain application compatibility for a living and try to help people get their arms around it ran up against those who implement it in the product on the scale of … the whole earth. Those of us who explain things for a living really prefer (really, really…


Changes to the Operating System Layers (Compatibility Modes) in Windows 7

It’s visible in the beta, but I haven’t heard a lot of people talking about this externally. Regardless, I wanted to shed some light on what happened, and add a bit of the human perspective behind the decision. If you inspect the operating system layers (called Compatibility Modes in Compatibility Administrator), you’ll find that they…


The Secret to Power App Compat Debugging

If you come to me for advice about how to become a debugger, chances are that I’m going to give you a couple of must-read reference books, an then tell you to start paying attention. Because, unless you’re drastically more lucky than I am, stuff is probably breaking on you all the time. While a…