This is exactly the scenario I used a few months ago for an application.
Basically it went like this.
1) Write App
2) Copy onto a shared network folder
3) Visit client (once) to install .NET framework, adjust Security for
Intranet and create desktop icon pointing to application.
4) All done
What about configuration? There isn't any, the database connection
information is compiled into the App. All settings are maintained by UserID
(picked up from the workstation at runtime) in the database!
What happens when user discovers a bug - it happens ;-) Fix bug, copy new
file onto server. All workstation are automatically fixed next time they
open application.
By the way, for the reporting I load the reports on the fly using
Assembly.Load from a subfolder - when a new report is needed I just create
it and drop the DLL into the subfolder. This way I don't even have to
recompile the main application to add a report. Next time a client goes
into the reporting part of the application they get the new report!
Since the folder is READONLY (to the clients), they can't mess with
anything. About the worst thing they can do it delete the icon off of their
desktop - no big deal to fix.
I haven't visited any client since and I have fixed a bug or two and updated
reports a couple of times to add additional information.
Performance - excellent. User enjoyment - they think its awesome. AND it
only took 3 weeks from conception to deployment.
I estimate a web based app with this sophisticated user interface (multiple
editable data grids, reports printing etc) would have taken at least twice
as long using ASP.NET
IMO - This is THE WAY to go.
HTH
Tom