Hi,
Since your app runs for admin but fails or freezes for a standard kiosk user, it could have been caused by:
- App requires elevated rights (manifest set to
requireAdministratoror trying privileged operations). - Writes to or expects write access in protected locations (e.g.
C:\Program Files,HKLM, or system folders) causing silent failures under limited user. - Access denied on files/registry during initialization (unhandled exceptions lead to apparent “freeze”).
- Attempts to start/communicate with a service or driver that isn’t installed or accessible to a standard user.
- Uses global hooks, low‑numbered ports, or other privileged APIs that fail without elevation.
- Hardcoded paths instead of per-user
%LOCALAPPDATA%or%PROGRAMDATA%, resulting in missing resources or locked files.
Confirm by running the app as the kiosk user and using Process Monitor filtered to app.exe to spot ACCESS DENIED events.
I suggest trying the steps below:
- Make the app run under the kiosk (standard) user:
- Change manifest to use
asInvoker(notrequireAdministrator). - Move or redirect all writable data to
%LOCALAPPDATA%\YourAppor%PROGRAMDATA%\YourApp. - Grant Modify permission to
Usersonly where truly needed. - Test and fix any
ACCESS DENIEDoutcomes found via ProcMon.
- Change manifest to use
- Assign the custom shell only to the kiosk user (keep Explorer for everyone else):
- Ensure default shell is
explorer.exe. - Map your app as shell for just the kiosk user SID.
$namespace = "root\standardcimv2\embedded" $user = "KioskUser" $sid = (New-Object System.Security.Principal.NTAccount($user)).Translate([System.Security.Principal.SecurityIdentifier]).Value # Default shell for all other users Set-CimInstance -Namespace $namespace -ClassName WESL_UserSetting -Property @{ UserSid="*"; Shell="explorer.exe" } # Custom shell for kiosk user only Set-CimInstance -Namespace $namespace -ClassName WESL_UserSetting -Property @{ UserSid=$sid; Shell="C:\Kiosk\App\app.exe" } - Ensure default shell is
Let me know if you have any update. I would love to help.