Windows 8 Interactive Services Detection “Error 1: Incorrect Function”

When an application or service displays an interactive message in session 0, Windows 7 displays a message to inform you about this application. You can use this feature to switch to session 0 and have a look which message is waiting:

image

The process responsible for this detection is UI0Detection.exe and controlled by a service called “Interactive Services Detection”

In Windows 8 this service now has been set to Manual and stopped by default (as opposed to Running under Windows 7). When you try to start this service in Windows 8 you will get the following message: “Error 1: Incorrect Function”

image

In order to get this service to run you will have to adjust a registry key:

Hive: HKLM
Path: SYSTEM\CurrentControlSet\Control\Windows
DWORD: NoInteractiveServices

Change value “1” to “0”

image

Start the Interactive Detection Service by services.msc or commandline using “net start ui0detect”

If you want to force a (test) message in session 0, get psexec.exe from Sysinternals and start it using the following parameters:

psexec -si 0 c:\windows\system32\calc.exe

This will start the Windows Calculator with System permissions in Session 0. This mechanism can also be used to troubleshoot logon/logoff issues by starting procmon or other troubleshooting tool in Session 0 which will survive a logoff.