Deferred Custom Actions and Permissions on Windows Vista with UAC Enabled

The first major obstacle to testing an application for compatibility on Windows Vista is to actually get that software installed, and there are still some challenges remaining in achieving this. One of the issues that has popped up is with deferred custom actions. When you specify the type of a custom action in the MSI…


Viewing and Uninstalling Devices Not Currently Attached to Your Computer

I ran into this issue working with a hardware manufacturer working on updating their drivers for use on Windows Vista. You may already know that you can uninstall a device directly within the Device Manager. You can simply right click and select uninstall. The drivers are then removed from the system. This customer obviously wanted…


Modifying the Mandatory Integrity Level for a Securable Object in Windows Vista

Windows has included securable objects for quite some time now, but Windows Vista adds a new concept: Mandatory Integrity Control. You can read a detailed description here; in essence, in addition to requiring a particular SID to access a secured resource, you must be running with a token containing the required integrity level. When you…


Understanding Painting Behavior Differences in Windows Vista – Desktop Composition

One new feature in Windows Vista that makes a number of visual effects possible is the Desktop Window Manager. The DWM works through composition. Rather than rendering directly to the screen, applications render to their own off-screen bitmap. The DWM then takes all of these bitmaps and composites them to render to the actual screen….


How to Determine if a User is a Member of the Administrators Group with UAC Enabled on Windows Vista

User Account Control (UAC) on Windows Vista changes the paradigm of being an administrator on a Microsoft Windows operating system. Rather than wielding full administrative privileges all of the time, the token is “split” and there are two of them. If you run an application normally, it is given the token that has fewer privileges…