First, the deployment problem is not your problem. If you ask the client to do something, you offer technology, they check, and that is their responsibility. I am currently involved in software at the bank, and we are VERY limited, but this is not my problem: I know what I can use, and I can ask administrators before going on unsupported paths.
It says - check before asking what YOU WANT or CAN support.
I would go for WPF on .NET 4.0 these days. I really do for a complicated trading application. Together with a web application for the administrative side (quite a lot, and I use a dynamic data infrastructure there to add users, etc. Simple in code).
After that, I would try Silverlight. Especially 4.0 - the new "local mode" is excellent, install it locally, even with a shortcut in the menu. There is no real difference with the user, and XAML on Silverlight 4 is much better than the earleir version.
I would try to stay away from Winforms - it is much less flexible.
But in the end you must first check the requirements. For example, here, where I am currently working, .NET 4.0 is “no,” and Silverlight in ANY version is “no,” until they are updated on a standard system image.
source share