As you might have noticed from the silence, we have moved on. Here are blogs for Vineet, Patrick, Yves and Maarten. We’re working on OEM Ready lately and have our hands full. For the original Vista AppCompat issues, you can keep going to Chris’ blog.


Folding shirts

One of the nice things of being off-site with colleagues is that you learn interesting life enhancing tricks. Vishal taught me the Ninja t-shirt technique. I will never fold a t-shirt the same way again. Maarten


Let us Test and Debug Your Application

If you happen to be at Teched (or you know someone who is) we have a room setup to test your application for Vista compatibility issues. You can bring your application and we can troubleshoot it for problems. We have the debug experts from SWAT team and from Application Experience team. We’re in room S329….


Integrity Level and the ROT

Integrity Levels result in surprising behavior. The other day I was looking at an accessibility application. Since accessibility applications need to be able to access applications that are potentially running with a MIC level of high, there is a setting in the manifest specifically for this purpose called uiAccess=true. If your application has this setting…


Signed Binaries in Non-trusted Locations

When you inadvertently copy the complete cmd.exe to your quick launch bar instead of creating a shortcut, you get some interesting behavior on launching it elevated. Instead of good old trusted elevation prompt, we get the untrusted version. Interesting. Surely the binary hasn’t changed when copying it over? Let’s check with sigcheck. Here is the…


Is my Process Virtualized or Redirected?

In some scenarios it might be necessary to know whether a process is actually being redirected or not. A case in point is for example a library that is loaded and needs to know whether the host process and the library have an identical view of the virtualized world. You can use GetTokenInformation with TokenVirtualizationEnabled…

Debugging LSASS

For some reason I had to debug LSASS (Local Security Authority Process) recently. Considering that LSASS is rather involved in the functioning of the system with respect to authorization checks, it is cumbersome to debug. The system deadlocks immediately. Try for example attaching to lsass.exe from WinDbg and click the start button when the debugger…

Certification Freebie

I had mentioned in a previous post about handy certification tools.  If that sparked your interest in getting your app certified, Microsoft is extending the offer for a refund for the cost of verification testing until the end of June.  You only get a refund if you pass – so, make sure your app meets the requirements…

GetCurrentProcess fails on Net 1.1 on Vista

This little snippet compiled with .Net 1.1: using System; using System.Diagnostics; ¬ ¬† class Program { ¬†¬†¬† static void Main(string[] args) ¬†¬†¬† { ¬†¬†¬†¬†¬†¬†¬† try ¬†¬†¬†¬†¬†¬†¬† { ¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬† Process c = Process.GetCurrentProcess(); ¬ ¬† ¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬† Process[] p = Process.GetProcessesByName(c.ProcessName); ¬†¬†¬†¬†¬†¬†¬† } ¬†¬†¬†¬†¬†¬†¬† catch (Exception e) ¬†¬†¬†¬†¬†¬†¬† { ¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬† Console.WriteLine(e.Message); ¬†¬†¬†¬†¬†¬†¬† } ¬†¬†¬† } } ¬…


C2065: ‘TOKEN_LINKED_TOKEN’ : undeclared identifier

If you get¬†¬†¬†¬ error C2065: ‘TOKEN_LINKED_TOKEN’ : undeclared identifier¬†¬†¬†¬ when you try to compile a VC++ project that needs to get the linked token through GetTokenInformation, you need to get the Microsoft Windows SDK for Windows Vista. This is true for all the new Vista APIs of course. The SDK that shipped with Visual Studio…