Deploying a B-B application over the web.

Here is the scenario:
We are developing a business application for a niche market (the market is independent practitioners as individuals and small teams - the sector is not important here)
The customer base is unlikely to be very large - possibly in the hundreds or low thousands.

The application:
1. Is a Windows Forms app written in VB in Visual Studio
2. Uses the DevExpress ORM
3. The app needs to run for multiple users (small numbers - say 10 maximum) - but use a shared database
4. We would like to deploy from a web site  - currently I am using Clickonce to publish to a test site - and it seems to work OK so far - but -
5. - there is a problem with deploying the database - Each Clickonce update creates a new folder and this means that any existing data is overwritten - also we want to supply some pre-built objects stored in the database

Our question is quite a wide ranging one:-
Can anyone help us to decide on a good deployment strategy that
a) allows easy updates and also
b) has piracy protection

All suggestions welcome
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

I don't know about DevXepress, but for piracy protection try obfuscating your app and then

for licensing. The licensing requires a hit to a webserver for approval. Or if you prefer you could employ dongles instead--with a different strategy.

Well, you might write your own update strategy....I did some time ago. Mine had an XML file that I defined. It had various sections that told what version of manifest this was, files with sizes, and date time stamps or versions--can't recall.  The software would hit the website download this file, check to see if it were a newer version and if so, store it. Then it would go through that file updating the things listed.  If the actual .exe needed updating this was actually handled by the multiple .exe method.
The app icon ran a stub app, that downloaded updates and checked...if the app exe needed to be updated it would be downloaded and replace the existing...after that or even if it was up to date the stub exe would call the app exe.

It worked great and the beauty was that it was built on my own technology that I understood.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
.NET Programming

From novice to tech pro — start learning today.