Solved

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

Posted on 2016-10-10
5
90 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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 500 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

Containers & Docker to Create a Powerful Team

Containers are an incredibly powerful technology that can provide you and/or your engineering team with huge productivity gains. Using containers, you can deploy, back up, replicate, and move apps and their dependencies quickly and easily.

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…
Today I had a very interesting conundrum that had to get solved quickly. Needless to say, it wasn't resolved quickly because when we needed it we were very rushed, but as soon as the conference call was over and I took a step back I saw the correct …
In this video, viewers are given an introduction to using the Windows 10 Snipping Tool, how to quickly locate it when it's needed and also how make it always available with a single click of a mouse button, by pinning it to the Desktop Task Bar. Int…
This is my first video review of Microsoft Bookings, I will be doing a part two with a bit more information, but wanted to get this out to you folks.

691 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