How to Configure Kiosk Mode on Windows XP (Auto-Logon and Custom Shell)

I know this one is really, really old, but I was asked about it the other day and wanted to keep it here for future reference.

The Problem

When a Windows XP computer boots, you want it to always log into a specific user account, and you want that account to run an executable other than Windows Explorer (explorer.exe), such as a LabVIEW application. This is known as kiosk mode.

Kiosk mode is useful for a dedicated computer or user account that should boot straight into one program. It also restricts the user’s access to the rest of the computer. Setting it up takes two registry changes: automatic logon, and a custom shell for the account.

Step 1: Log In Automatically to a Specific Account

This change is made in the Windows Registry, so work carefully.

  1. Click Start » Run, type regedit, and click OK.
  2. Browse to HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon.
  3. Double-click DefaultUserName, enter the name of the account to log into automatically, and click OK.
  4. Double-click DefaultPassword, enter that account’s password, and click OK. If there is no DefaultPassword entry, create it: go to Edit » New » String Value, name it DefaultPassword, press Enter, then double-click it and enter the password.
  5. Double-click AutoAdminLogon, set its value data to 1, and click OK. If there is no AutoAdminLogon entry, create it the same way as a String Value named AutoAdminLogon with the value 1.
  6. Close the Registry Editor and restart the computer (Start » Shut Down » Restart).

Note: If no DefaultPassword string is specified, Windows XP automatically changes AutoAdminLogon from 1 (true) to 0 (false), which turns automatic logon off.

Step 2: Replace Explorer with Your Own Executable

  1. Log into the user account that should boot into kiosk mode.
  2. Click Start » Run, type regedit, and click OK.
  3. Browse to HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Winlogon.
  4. Go to Edit » New » String Value and name it Shell.
  5. Double-click the new value and enter the path to the executable to run instead of explorer.exe, for example C:\LV Startup\MyLabVIEWVI.exe.
  6. Log out of the account and log back in.

Together, these two settings make the machine skip the logon screen, sign into the chosen account, and run your executable instead of Windows Explorer. For a LabVIEW executable, you can also tune its VI Properties: set Position to Maximized in the Window Run-Time Position category so it fills the screen, and adjust the Window Appearance category so users can’t close or resize it.

Tip: Getting Back to the Registry Editor

Once the shell is replaced there’s no Start menu. To change the executable later, press Ctrl+Alt+Delete and open Task Manager, choose File » New Task (Run…), type regedit, and click OK.

Related: autologin for Windows Server.