After doing web development for quite a while, I am faced with a new client who wants a simple database application to run outside the interweb.
He is quite adamant about using Microsoft products. "We don't want no steenking open sources" was his stance.
It's been quite a while since I actually did desktop development, and most of my tools are rusty, out of licence, or just plain lost. I have been concentrating lately on L.A.M.P. applications, but that doesn't quite transfer back to the desktop environment.
Some options:
database: MySql (my fav), Access, MSSql language: C++, VB, PHP, Java, C#
I have been gravitating towards Access/VisualBasic, not because I like it very much, but because it is simple to set up and deploy. A database server (MySql, MsSql) would probably be too hard to deploy/maintain for the novice computer user. Even though from a purist point of view, C++ is the better language, it would take too much effort to bootstrap an application (IMHO). Java is too cumbersome (again IMHO).
The other consideration is cost. Although I can convince him to acquire proper software runtime licences, I probably won't be able to get him to purchase necessary development tools, and certainly the project isn't paying enough to justify substantial purchases which will probably not be used again.
I would appreciate your input on platform selection, development tools and application frameworks, thanx muchly.
Edit 23-May-09
Thank you everyone for your excellent advice.
I have settled on C# Express. So far, I've avoided learning C#, but what's another language?; and I have a whole week to get up to speed.
I am waffling on whether to go with Access or MSSql (Express) database. With Access, I can deploy the database as a stand-alone file, but MSSql requires that the database server be installed. (AFAIK)
The client requires that the application be installed in multiple locations, some of which are mobile and not connected to the interweb. The dicey part is reconciling all the copies of the database, and determining which is the connonical version.