Welcome! Log In Create A New Profile

Advanced

WD22 - Automatic updates (Network applications)

Posted by DerekM 
WD22 - Automatic updates (Network applications)
October 11, 2018 08:55PM
Hi

Does anyone have experience with network installation - and willing to share experience/advice?

Rather than within an organization - I am investigating if it is feasible to have all installations and updates handled by one of our servers for the entire customer base (which is actually not all that large sad smiley

e.g. - every time the application is started - force application check and update (kinda like MS forces me to update in the middle of the day when I have dozens of applications running smiling smiley

TIA for any advice

Regards
Derek
Re: WD22 - Automatic updates (Network applications)
October 11, 2018 09:46PM
Hi Derek

there are several levels to your answer.

Level 1:
It's quite easy. You need a server reachable by a httprequest (ie web server) where you put the installer and a text file containing the last version
At program start (or on timer, or at program end or) you do a httprequest to get the text file, compare version, and if new version propose/force update, do a httprequest to get the installer, and run it...

This requires that each user has install rights, but if that is the case, it's a one hour development.

Level 2:users do NOT have install rights
While the principle of the thing is the same, the inside method is different.
You need to create TWO program. One is a small launcher that will never change and is in charge of the update. the other is your real program, and this one should only be compiled as a wdl (not an exe)
At this point, you are testing for new version like above, and if there is one, download the .wdl in a USER directory (not program files).
In both case, (new version or not) you then charge and run the current wdl.
This methods bypass entirely the UAC, except during the initial install, of course.

Best regards

Fabrice Harari
International WinDev, WebDev and WinDev mobile Consulting

Free Video Courses, free WXShowroom.com, open source WXReplication, open
source WXEDM.

More information on [www.fabriceharari.com]



Edited 1 time(s). Last edit at 10/11/2018 09:47PM by fabriceharari.
Re: WD22 - Automatic updates (Network applications)
October 12, 2018 09:43AM
As a side note to level 2: I use this option in one of my projects and I put the WDL in the database. Just using a small table with a version-field, datetime-field and a blob-field.

The principle remains the same regarding the update of the client, however I do not need some shared map or copy-rights or acces to the central server. But only access to the database, which you need anyway, assuming your app uses a database.

In another project I al;so use the WDL-method, but then the application is installed on the server and started from there. A nice thing about loading a WDL is that it is loaded entirely. After that the file is NOT in use anymore. You can just copy a new version whenever you need, without having the trouble of file-in-use.

Arie
Re: WD22 - Automatic updates (Network applications)
October 12, 2018 10:13AM
Hi Derek,

as you probably know, this functionality is already included in WINDEV.
If you don't want to do anything "fancy", it works just fine, out of the box ...

You can also change PCSofts setup app to add your own versioning etc, but NOTE that you must study carefully the code AND the UI of the setup app. Last time I checked it, the code was really a mess ..

So in a simple, local INTRANET environment, we have NO problems at all - even with local WIFI.
But if you wan't to use YOUR own server(s) to apply changes to YOUR customers app, across the INTERNET, you probably have to do it the way described by Fabrice and Arie AND have a lot of Bandwidth (Upload) on YOUR server.

Regards
Steven Sitas
[www.alpha360.biz]



Edited 1 time(s). Last edit at 10/12/2018 10:14AM by StevenSitas.
Re: WD22 - Automatic updates (Network applications)
October 12, 2018 02:22PM
Hi again

regarding pcsoft built in solution, I think that you should avoid it at all cost because it seems that they don't care about being compatible from one version to the next. I have seen multiple reports of problems with their system with each 20..21..22..23 change in version. And as it's very simple to code, there is no good reason to stay with the internal function here.

Best regards

Fabrice Harari
International WinDev, WebDev and WinDev mobile Consulting

Free Video Courses, free WXShowroom.com, open source WXReplication, open
source WXEDM.

More information on [www.fabriceharari.com]
Re: WD22 - Automatic updates (Network applications)
October 12, 2018 07:20PM
Hello Derek,

I have used the network install in the past, first couple of years worked really well. I installed it on a windows server 2002 with a domain and pushed it out to all the computers, 50 or so. After that every update I would push it out to the machines that where on and the others that where not available at the time would get notified to update.

Fast forward the machine was replaced to a 2008 server upon install the same way it never worked right again. When install from the push on the clients the WDUpdate.net file had the wrong path for the server I never figured out how to fix it(other then going to ever machine a change it by hand). I even contacted tech support but the never replied.

So I moved it to the install on a http setup on my own server, I went to ever machine and installed it from my website. Every update the user was notified of the update and a admin had to go to each machine to install it.(Not good). The last update the I did I changed the major version number of my app from 3.1xxxx to 4.0 and none of 3.1xxx version saw the update. I had to uninstall and re-install it again on all 50+ machines. Seeing that I live 130 miles away from that office and we have 4 locations this is a pain. I have not yet taken the plunge to write my own update system like Farbice suggest but when I get the time that would be the route for me to take.

DW
Re: WD22 - Automatic updates (Network applications)
October 13, 2018 08:12PM
Thanks to Everyone

This is very insightful and valuable information.

Likely this has saved me from making a costly design error. A case of the Unknown Unknowns, so I am glad I asked!

Fabrice's Level 2 solution appears to be the way to go. For me, this is a fairly critical issue, as we deploy WebDev and WinDev applications with a shared data model.

Regards
Derek
Re: WD22 - Automatic updates (Network applications)
October 17, 2018 11:24AM
Hey Arie and Fabrice

How do I run a wdl?
Do i have to make a small exe with loadwdl(...) and that's it?
and of course test if there is an update?


TIA
Jan



Edited 1 time(s). Last edit at 10/17/2018 12:53PM by jtadebruin@gmail.com.
Re: WD22 - Automatic updates (Network applications)
October 17, 2018 02:51PM
Hi Jan,

I see now I do not use a WDL but a WDK, that's the component-way.
So I create an component holding all windows, querys and so on.
Then do ComponentLoad(sMyComponent)
And finally I do Open('My-Component'.WindowMain)

This means btw that I have a specific starter-app for this project, while the component must be included in the projec, so ComponentLoad 'knows' about this component.

I guess a library (WDL) will also work, indeed using LoadWDL.

I also have a version of this 'starter-app which starts another executable with ExeRun().

I can't remember why I choose to use a component instead of a library. There are some differences. You also have internal end exteral components.
Someone?

Arie
Re: WD22 - Automatic updates (Network applications)
October 17, 2018 02:52PM
in my case it is an external component by the way....

Arie
Re: WD22 - Automatic updates (Network applications)
October 17, 2018 03:50PM
Thanks Arie smileys with beer
Author:

Your Email:


Subject:


Spam prevention:
Please, enter the code that you see below in the input field. This is for blocking bots that try to post this form automatically. If the code is hard to read, then just try to guess it right. If you enter the wrong code, a new image is created and you get another chance to enter it right.
Message: