Initial installation and then installing updates
Initial installation and then installing updates
Initial installation and then installing updates
Initial installation and then installing updates
Initial installation and then installing updates
Initial installation and then installing updates Initial installation and then installing updates Initial installation and then installing updates Initial installation and then installing updates Initial installation and then installing updates Initial installation and then installing updates Initial installation and then installing updates Initial installation and then installing updates
Initial installation and then installing updates Initial installation and then installing updates
Initial installation and then installing updates
Go Back  Xtreme Visual Basic Talk > > > Initial installation and then installing updates


Reply
 
Thread Tools Display Modes
  #1  
Old 01-15-2016, 11:03 AM
Daigon Ali Daigon Ali is offline
Regular
 
Join Date: Aug 2014
Location: London
Posts: 59
Default Initial installation and then installing updates


Hi All,
I have several VB6 apps which are stored on a share drive together with the files, folders and (Access) databases that they use. Users access these from the shared drive, which I've been told is not good practice. However it does avoid the need to package and distribute and means that if I release a new revision I just replace the exe files on the shared drive.
I do use the PDwizard in a very basic form just to get all the controls registered, but this is done on the computer before it's handed to the employee.

However, working out of the office is becoming more popular and while there were no real issues before, connectivity to these apps is slow over wifi and perhaps running the apps locally might speed things up(?). Users have reported that the apps are significantly slower than other normal files on the network.

Does anyone have any advice on
a) how to speed up connections over wifi
b) how best to distribute these
c) how to update users with a new revision of an app that they've already installed.

Many thanks in Advance
Reply With Quote
  #2  
Old 01-16-2016, 01:03 PM
dilettante's Avatar
dilettanteInitial installation and then installing updates dilettante is offline
Underclocked lifestyle

Forum Leader
* Guru *
 
Join Date: Feb 2005
Location: Michigan, USA
Posts: 4,524
Default

What you are doing is dangerous enough over wired networks, but doubly so over wireless networks which are less reliable. Local installation is mandatory, there are ways to get around this but it requires special post-build effort and is never recommended.

One worry is a shared database. If this is a requirement you may be stuck, because even VPN access to file shares to support file-based databases like Jet or SQLite is simply going to be slow and have a high risk of data corruption. If you need a shared database you'll probably need to move to an n-tired alternative, for example putting a web service in between your client program and the database. Some people limp along by moving to client/server databases (SQL Server, MySQL) but even those aren't safe to directly expose to external connections.

Alternatively, some databases support replication and synchronization... but that's another advanced topic.

If the users have to be able to permit application updates without admin rights you have another issue. Your best bet is reg-free COM packaging and deployment to some user-writable folder, typically FOLDERID_UserProgramFiles. This does not exist officially until Windows 7 but it works on downlevel systems, you just have to "get there" by other means, such as: %LocalAppData%\Programs.

Once you have done that you can manage updates through a small "update shell" program that users run when they think they are running your application. That program can check for connectivity, then check for updates, and if found it can download and replace the necessary files making up your application... otherwise silently start your application. The user is none the wiser because your shortcuts point to the update shell instead of the actual application.


So all of these things have solutions, if they didn't somebody would invent them. They just aren't things a casual VB6 programmer is in a position to cope with easily. VB6 did not ship with the tools to make it easy, and some tools we used to have are no longer supported by Microsoft.
Reply With Quote
  #3  
Old 01-17-2016, 05:47 AM
Cerian Knight's Avatar
Cerian KnightInitial installation and then installing updates Cerian Knight is offline
Polymath (in disciplina)

Super Moderator
* Expert *
 
Join Date: May 2004
Location: Michigan
Posts: 4,194
Default

Make sure the OS on the shared drive supports NTLM (or better yet, NTLM v2). We had an old Win 98 box (due to seat license limitations in non-server XP) that was never patched with NTLM and Access databases served from it to Win XP and above were slow as dirt. I'm not sure NTLM would have helped, except for streamlining client authentication, since the 98 network stack was terribly inefficient anyway.
__________________
I got all the answers wrong on the GLAT, apparently even #9 (where I put a period in the middle of the box and labeled it 'singularity ripe for rapid inflation').
Reply With Quote
  #4  
Old 01-18-2016, 11:07 AM
Daigon Ali Daigon Ali is offline
Regular
 
Join Date: Aug 2014
Location: London
Posts: 59
Default

Thank you for your replies. I think I do need a shared database in as much as it needs to support multiple users. Currently it's in Access and the only way for it to be simultaneously available is to have it on shared drive similar to the back-end of a split Access database.

Unfortunately I have no influence over the servers or other networking, suffice to say that it appears to be a DFS system and the connection string refers to the real root not the DFS root.

I'm not sure what you mean by an n-tired alternative or what would be a good example?

So far there hasn't been any corruption and it's speed over wifi which is the major complaint. Do you think that having the VB running locally would be worth investigating as a first step or does using Access doom the whole wifi experience to being a slow one?
Reply With Quote
  #5  
Old 01-18-2016, 01:34 PM
Cerian Knight's Avatar
Cerian KnightInitial installation and then installing updates Cerian Knight is offline
Polymath (in disciplina)

Super Moderator
* Expert *
 
Join Date: May 2004
Location: Michigan
Posts: 4,194
Default

Quote:
Originally Posted by Daigon Ali View Post
I'm not sure what you mean by an n-tired alternative or what would be a good example?
Not my specialty, but here are the n-tiered basics:
https://msdn.microsoft.com/en-us/library/bb384398.aspx
Perhaps dilettante can elaborate more.
__________________
I got all the answers wrong on the GLAT, apparently even #9 (where I put a period in the middle of the box and labeled it 'singularity ripe for rapid inflation').
Reply With Quote
  #6  
Old 01-19-2016, 08:14 AM
dilettante's Avatar
dilettanteInitial installation and then installing updates dilettante is offline
Underclocked lifestyle

Forum Leader
* Guru *
 
Join Date: Feb 2005
Location: Michigan, USA
Posts: 4,524
Default

Normally this means that you separate out layers of functionality into separate programs. These layers then get distributed among platforms.

In the simplest case you can stick to monolithic coding techniques by using a client/server DBMS (or in the old days by using Remote Data Service (RDS) though that is no longer a practical tool). This puts the physical database access code close to the actual files, on a central server.

Since this still can result in performance, reliability, and security problems you'd move to the next level. This involves writing a layer of code that talks to the client program and the database, and is normally on the database server machine or near it (same LAN). This requires abandoning monolithic programming techniques however, since the client program can't use SQL or Recordsets directly anymore. It makes higher level application requests for information and updates, which are mediated by the data tier.

Then you can go a step further and isolate out business logic and move that into a separate tier closer to the database. This can increase security and usually cuts bandwidth requirements that much more.


Of course at the extreme your client may as well be a web browser. And that's what a lot of people end up doing today, so much so that you rarely see n-tier development anymore outside of large scale projects with long lifetimes.

Taking a monolithic program and rewriting it for n-tier operation is not a trivial undertaking. Usually you throw away almost everything and start over.

So most people punt and settle for client/server database technology as a half-measure, or else they just re-engineer using the "poor client" (browser) model. To try to beef up this weakling client there are masses of "open sores" hacks out there (jQuery comes to mind), and it also provided motivation for HTML5 and CSS3 and CSS4. These are all duct tape and spackle meant to prop up the sagging old gal (the browser) as a halfway-practical client platform - something it was never designed for.


But it all has one thing in common: it requires real servers, not just file servers. That and considerably more engineering than a typical monolithic program written in VB or anything else.

Last edited by dilettante; 01-19-2016 at 08:19 AM.
Reply With Quote
Reply

Tags
apps, files, drive, users, distribute, shared, wifi, speed, revision, access, connectivity, app, slow, locally, running, real, popular, office, issues, network, normal, advice, update, installed, connections


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off

Forum Jump

Advertisement:





Free Publications
The ASP.NET 2.0 Anthology
101 Essential Tips, Tricks & Hacks - Free 156 Page Preview. Learn the most practical features and best approaches for ASP.NET.
subscribe
Programmers Heaven C# School Book -Free 338 Page eBook
The Programmers Heaven C# School book covers the .NET framework and the C# language.
subscribe
Build Your Own ASP.NET 3.5 Web Site Using C# & VB, 3rd Edition - Free 219 Page Preview!
This comprehensive step-by-step guide will help get your database-driven ASP.NET web site up and running in no time..
subscribe
Initial installation and then installing updates
Initial installation and then installing updates
Initial installation and then installing updates Initial installation and then installing updates
Initial installation and then installing updates
Initial installation and then installing updates
Initial installation and then installing updates Initial installation and then installing updates Initial installation and then installing updates Initial installation and then installing updates Initial installation and then installing updates Initial installation and then installing updates Initial installation and then installing updates
Initial installation and then installing updates
Initial installation and then installing updates
 
Initial installation and then installing updates
Initial installation and then installing updates
 
-->