Windows Kiosk App
Asked Answered
H

5

14

So, I need to build a kiosk type of application for use in an internet cafe. The app needs to load and display some options of things to do. One option is to launch IE to surf. Another option is to play a game.

I've been reading that what I probably want to do is replace the windows shell and have it run my app when the OS loads. I'd also have to disable the task manager.

This is a multipart question.

  • Can I use dotnet to create this?
  • What OS do I have to use? I keep seeing windows xp embedded pop up in my readings
  • Will there be any issues with the app occasionally loading IE?
  • Are there any other tasks that I should be aware of when doing this? Other than task manager and replacing the shell.
  • If I can do it in c#, is there anything in particular that I should know about? Maybe my forms have to inherit certain classes, etc...
Husband answered 27/8, 2010 at 3:5 Comment(0)
S
10

You should check out Microsoft Steady State

It has plenty features and are free to use.

Windows SteadyState Features
Whether you manage computers in a school computer lab or an Internet cafe, a library, or even in your home, Windows SteadyState helps make it easy for you to keep your computers running the way you want them to, no matter who uses them.

Windows Disk Protection –
Help protect the Windows partition, which contains the Windows operating system and other programs, from being modified without administrator approval.Windows SteadyState allows you to set Windows Disk Protection to remove all changes upon restart, to remove changes at a certain date and time, or to not remove changes at all. If you choose to use Windows Disk Protection to remove changes, any changes made by shared users when they are logged on to the computer are removed when the computer is restarted

User Restrictions and Settings –
The user restrictions and settings can help to enhance and simplify the user experience. Restrict user access to programs, settings, Start menu items, and options in Windows. You can also lock shared user accounts to prevent changes from being retained from one session to the next.

User Account Manager –
Create and delete user accounts. You can use Windows SteadyState to create user accounts on alternative drives that will retain user data and settings even when Windows Disk Protection is turned on. You can also import and export user settings from one computer to another—saving valuable time and resources.

Computer Restrictions –
Control security settings, privacy settings, and more, such as preventing users from creating and storing folders in drive C and from opening Microsoft Office documents from Internet Explorer®.

Schedule Software Updates –
Update your shared computer with the latest software and security updates when it is convenient for you and your shared users.

Download: http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=d077a52d-93e9-4b02-bd95-9d770ccdb431

Saharan answered 30/8, 2010 at 12:39 Comment(0)
J
6

•Can I use dotnet to create this?

You can use .NET.

•What OS do I have to use? I keep seeing windows xp embedded pop up in my readings

you can use any OS

•Will there be any issues with the app occasionally loading IE?

in fact you can host IE control on your winform/wpf application, so no need to open IE.

•If I can do it in c#, is there anything in particular that I should know about? Maybe my forms have to inherit certain classes, etc...

there is nothing particular about kiosk application. just you need to have you app on top of everything even taskbar. hide minimize/restore/close buttons. provide a alternate way to close your app eg. by key combination

Jacquelyn answered 30/8, 2010 at 12:32 Comment(3)
So, I can replace the explorer.exe shell app with a net app?Husband
@Husband i don't understand the need for this? but, yes you can replaceJacquelyn
Both WPF and Winforms allow you to have a browser control inside of your application.Aisha
S
2

you could build an ASP.NET application that runs on the local machine (XP Pro, Vista Business, 7 Pro). Then when the OS boots, you can launch IE in kiosk mode

basically you create an IE shortcut in your Startup folder, and the shortcut points to

“C:\Program Files\Internet Explorer\IEXPLORE.EXE” –k

an ASP.NET web application can launch local EXE's if it has the right permissions.

Substantive answered 27/8, 2010 at 3:12 Comment(2)
That would almost work except that the primary focus of the kiosk isn't web surfing, it's the other stuff. they get game credits when they buy internet time. Many folks will buy internet time, just to play the games, without ever using the internet time. The internet time, if used, would be deducted when ie is launched. If the whole thing is a web app, that wouldn't work.Husband
In addition, we need support for card readers and other peripherals.Husband
A
1

You could use a windows service that would kick off your UI that could have your games in it AND a web browser CONTROL (WinForms/WPF). This could greatly simplify your task of securing the UI, because you would just need to set permissions on the windows service / app rather than trying to lock down the entire OS. Futhermore, you could use an additional service to provide some redundancy and always check if your UI program is still running. IF a user somehow got the window to close, this background service could just boot your kiosk app up again (also useful if it crashes). Here is also an example of how to disable the task manager on this machine.

Aisha answered 30/8, 2010 at 12:28 Comment(0)
I
1

I recently had to do the same kind of kiosk software as you. I myself am running a C++ software with Qt bu you could do it in C# .Net as well.

You can easily replace the shell using the following registery :

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell

To avoid login when the computer start you can also set the following fields in Winlogon :

AutoAdminLogon = 1

DefaultUserName = “USERNAME”

DefaultPassword = “PASSWORD”

DefaultDomainName = “ComputerName” : e.g : USERNAME-PC

Be aware that you cannot use this method to start a software as administrator. If that is your purpose I could give you a few tricks in that direction as well.

  • Are there any other tasks that I should be aware of when doing this? Other than task manager and replacing the shell.

In windows if you want to create a kiosk you will also need to disable :

  1. The Windows + X keys :

a. Type gpedit.msc from cmd prompt or start menu

b. Then go to : User Configuration>Administrative templates>Windows Components>File Explorer

c. In the right panel enable “Turn Off Windows + X hotkeys”

  1. Alt+X keys

  2. Sticky keys : Disable Sticky Keys

  3. Ctrl + Alt + Del :

a. Type gpedit.msc from cmd prompt or start menu

b. Select User

Configuration->Administrative Templates->System->Ctrl-Alt-Del Options

c. Double click on each : Remove Change Password, Remove Lock Computer, Remove Task Manager, and Remove Logoff and select Enabled then OK.

d. Select Computer Configuration->Administrative Templates->System->Logon

e. In the right hand pane, double click on Hide entry points for Fast user Switching f. Select Enabled then OK

This will remove all the nasty items in the ctrl-alt-del screen that can give users access to things you want to protect.

I didn't have to run IE so I cannot give you any details about that.

Iso answered 13/12, 2016 at 10:10 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.