?
Solved

Recommendations for deploying a VB.NET multi-client single database application

Posted on 2016-10-10
5
Medium Priority
?
102 Views
Last Modified: 2016-10-17
We have a VB6 app that has been sold to a large number of businesses.  The app is installed using a setup program created with Wise for Windows.  On the first install at a customer location, it is installed on a workstation/server considered to be the app's "server", and on that install, its MS Access database is created and configured for the business.  Subsequent workstation installs include mapping a drive to the location of the database, and "connecting" the app to the database via the mapped drive.  Updates are created as patches placed on our cloud server.  The local app checks the server for updates when it starts, then downloads and applies the patch if one is found for a higher version than the app.

We are rewriting the app in VB.NET and looking for the best approach for installing and upgrading the app.  We've looked at ClickOnce, but feel that it's not flexible enough for what we're trying to accomplish.

1,  Is anyone managing a similar app using ClickOnce?

2.  Does anyone have a suggestion for a different approach?
0
Comment
Question by:pkipe
  • 2
  • 2
5 Comments
 
LVL 22

Expert Comment

by:ambience
ID: 41838908
What exactly do you mean by "not flexible enough for what we're trying to accomplish?" What shortcomings did you envisage?
0
 

Expert Comment

by:petekipe
ID: 41839004
As we see it, ClickOnce will only install in the current Windows user account documents folder.  Our VB6 setup program installs for all users.  When we deploy our final VB6 path, we want it to cause the .NET version to be automatically installed, but we don't see how we can make that happen for all users.  Are we missing something?
0
 

Expert Comment

by:petekipe
ID: 41839154
Sorry - typo.  It should have read, "When we deploy our final VB6 patch..."
0
 
LVL 22

Accepted Solution

by:
ambience earned 2000 total points
ID: 41839958
OK, Clickonce isn't going to work for the "all users" case.

Its worth looking into creating installers for your application using NSIS, InstallShield etc. This will give the most flexibility at doing chores specific to deployment and upgrades. Your main application can check for updates when it starts (or maybe even as a manual option), download and run the installer to do the actual upgrade.

The benefit of using installers is that your deployment package can do smart things like check and install .NET framework, fix up registry, migrate databases - basically anything you want.

Another approach that I've looked into in the past was using SVN as a deployment server. This was in the context of a application where we only needed xcopy deployment and no fancy scripts. The idea was to do a SVN Update on the deployment whenever an updated revision was available in the repository. SVN updates can do basic stuff like moving files around, deleting and adding stuff but its not suitable for advanced stuff like adding configuration etc. (for which installers are the best).

Rolling out your own download and upgrade logic is an option worth considering if your application has a plugin architecture. Updates to plugins can be pushed to a public server and the app can download updated dlls on need basis.
1
 

Author Closing Comment

by:pkipe
ID: 41846741
Thanks ambience!
0

Featured Post

Upgrade your Question Security!

Add Premium security features to your question to ensure its privacy or anonymity. Learn more about your ability to control Question Security today.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In my previous two articles we discussed Binary Serialization (http://www.experts-exchange.com/A_4362.html) and XML Serialization (http://www.experts-exchange.com/A_4425.html). In this article we will try to know more about SOAP (Simple Object Acces…
A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
Please read the paragraph below before following the instructions in the video — there are important caveats in the paragraph that I did not mention in the video. If your PaperPort 12 or PaperPort 14 is failing to start, or crashing, or hanging, …
As many of you are aware about Scanpst.exe utility which is owned by Microsoft itself to repair inaccessible or damaged PST files, but the question is do you really think Scanpst.exe is capable to repair all sorts of PST related corruption issues?
Suggested Courses

839 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question