Restart Windows and Restart All Registered Applications: shutdown -g

Sunday, August 14, 2011

The Windows Restart Manager (introduced in Windows Vista) supports gracefully shutting down and restarting applications that registered for restart with the RegisterApplicationRestart API. This functionality is used by Windows Update – thanks to the Restart Manager, when I come yawning to my desktop PC in the morning, even following a system restart, I have my Outlook, browser windows, OneNote, Visual Studio, and Messenger all lined up as they were when I went to bed. Suppose you want to initiate one of these “automagically restart everything after restart” restarts. As of a few weeks ago, I had it...

Debugging Windows Service Startup with Service Isolation

Tuesday, May 10, 2011

A year and a half ago I touched on the subject of debugging process startup, such as the startup of Windows Services, using the GFlags utility (the ImageFileExecutionOptions registry key). The general idea is to rely on the Windows loader to launch a debugger instead of the debugged process, and trace your way through the process startup code. Unfortunately, this relies on the debugged process to run in the same session as you—otherwise, you won’t be able to actually see the debugger. Starting from Windows Vista, Windows services are isolated into a separate session to which you...

What Did My Manifest Do: A Referral Was Returned from the Server

Thursday, September 2, 2010

The UAC section of an application’s manifest contains two simple settings under the <requestedExecutionLevel> element of the <requestedPrivileges> node: level – asInvoker, requireAdministrator, or highestAvailable. This setting controls whether the application will require elevation before it runs. uiAccess – true or false. This setting determines whether the application will exempt from UIPI rules introduced as part of the Windows Integrity Mechanism. If you really need the uiAccess element (and you should be really convinced that you understand why you need it before proceeding), then your application must be signed, and...
one comment

Windows 7 How-To Videos: Libraries and Federated Search

Wednesday, April 14, 2010

More Windows 7 videos that I recorded have been posted on Channel 9. This installment deals with Windows 7 shell libraries and Federated Search, a subject that I haven’t covered in depth on my blog. The videos feature an introduction to shell libraries and demonstrate how to integrate your application with Windows 7 libraries from managed and native code, how to register for library change notifications (if you care about changes to library contents), and how to use Federated Search to integrate your search provider into Windows Explorer. [I don’t remember if I told you this in my...
no comments

Windows 7 How-To Videos: Windows 7 Taskbar

Sunday, March 28, 2010

Rather than make an HTML index of the videos, I figured it would be more convenient for my visitors to watch the videos directly from here, thanks to the Channel 9 embedding capabilities (and Silverlight). Introduction and Application ID Overlay Icons and Progress Bars Jump Lists Part 1 Jump Lists Part 2 Custom Previews and Thumbnail Clips ...
no comments

Windows 7 How-To Videos: Introduction to the Windows 7 Taskbar

As part of our work on the Windows 7 training materials, I recorded 23 short how-to videos explaining how to use the new Windows 7 features from managed code (often using the Windows API Code Pack) and from native code. Our Sela team, including Alon, Dima, Arik, and many others, collaborated on the slide decks, demo code, and other aspects of these recordings. The first installment of these videos is already live on Channel 9—you can download or watch online six videos about the Windows 7 taskbar. As you might...
no comments

PDC 2009 Day 3: Developing Applications for Scale-Up Servers Running Windows Server 2008 R2

Thursday, November 19, 2009

Pedro Teixeira is going to talk about processes and threads in systems with more than 64 logical processors as well as user-mode scheduling. Surprisingly for some people, NUMA is not an esoteric hardware architecture. Even high-end gaming rigs today are NUMA; Pedro is going to use a loaned machine by HP that has 256 processors with 1TB of physical memory. Processor Groups Adding support for more than 64 logical processors required a breaking app compat change, because CPU masks were represented in Windows by a bitmask. Therefore, CPUs are now addressed by 64-processor groups...
no comments

PDC 2009 Day 2: Developing with the Windows API Code Pack for Microsoft .NET Framework

Yochay, a good friend and co-author of “Introducing Windows 7 for Developers” and of the “Windows 7 Taskbar APIs” MSDN Magazine article, is delivering a presentation on the Windows API Code Pack. (Which is a library of managed APIs to interact with Vista and Windows 7 features that are otherwise accessible only from native code through COM and Win32 APIs.) This library replaces many of the sample managed integration libraries that our team at Sela developed for the Windows 7 Metro Training, such as the Taskbar integration library, the Sensor and Location integration library, and many others. It’s...
tags: ,
no comments

Introducing Windows 7 for Developers: Foreword by Mark Russinovich

Wednesday, November 18, 2009

Before Mark’s session today at the PDC, I exhibited typical Israeli chutzpah while he was helping himself for some coffee, and introduced myself as one of the co-authors of Introducing Windows 7 for Developers. Mark did us the honor of writing the book’s foreword, and he even found it useful for the Disk2vhd Sysinternals utility which creates a virtual machine hard disk from your existing physical disk – the latest release of the utility shows the operation’s progress using the Windows 7 taskbar’s capability to show a progress bar. In Mark’s own words: ...
no comments

PDC 2009 Day 1: Windows 7 and Windows Server 2008 R2 Kernel Changes

It’s not the first time that I hear Mark Russinovich’s session on the Windows 7 and Windows Server 2008 R2 kernel changes. Eran Stiller wrote a good post summarizing the main kernel changes (based on the materials from the Windows 7 Bootcamp at the PDC pre-conference day), so I’m not going to repeat the same here. Additionally, you can watch Mark talk about Windows 7 internal changes on Channel 9. Among the biggest kernel changes are optimizations that have to do with scaling Windows to hundreds of processors, such as eliminating the dispatcher...
no comments