posted 12 years ago
Malicious users tend to hack or destroy things just for the fun of it. Be sure to have a tested backup process in place, and not to put sensitive (ie. personal) data in the database.
The proper way would be to set up an application server (placed behind a firewall). The desktop application would call the business logic stored on the application server (probably using webservices), and the app server would connect to the database. So there would not be a direct connection from the app to the database and the firewall would not allow connections to the DB from the internet. (The app server would also check the privileges of the current user on each call, so that an unauthorized person cannot circumvent these checks by calling the webservice directly.)
And since you'd have an application server, you could use WebStart to deploy the application, alleviating the need for a separate deployment process.