views:

294

answers:

5
+10  Q: 

Windows Kiosk App

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...
+2  A: 

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.

rockinthesixstring
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.
Darthg8r
In addition, we need support for card readers and other peripherals.
Darthg8r
A: 

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.

mirezus
+3  A: 

•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

ajay_whiz
So, I can replace the explorer.exe shell app with a net app?
Darthg8r
@Darthg8r i don't understand the need for this? but, yes you can replace
ajay_whiz
Both WPF and Winforms allow you to have a browser control inside of your application.
mirezus
+7  A: 

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

Stefan
+1  A: 

You should check out SiteKiosk. It replaces the default shell and can be customized by using HTML/CSS/JavaScript. Your requested features like allowing Internet Explorer, starting own applications, blocking specific open-file windows, task-manager, etc. can be configured using the configuration tool.

It works on Win POS/XP/Vista/7 64 and 32 bit.

Disclosure: I work for that company. ;)

Nappy