Page 1 of 1

PlatGEnWohl Updater

Posted: 29 Jul 2014, 19:18
by Luigifan2010
Hi guys, so as I've started to learn C++ and stuff I decided it would be appropriate to code a little updater for this.

But in order for this to work right, I need coordination from not only my end for my Linux builds but also Wohlstand for his experimentals/stables.

So here's what I'd need for it to work properly.

-The updater would be placed in the same directory as the executable.
-A version.txt would need to be put in the same directory. This is necessary for dev builds seeing as how the actual exe isn't updated with the dev version it seems. Besides, this would only work on windows and we don't want that

The way this works needs to kind of be like a launcher. This would be the typical workflow for it.
-Launch the updater as a launcher
-It checks the version against a server, if the versions are the same we proceed to launch PGE as normal. The user may never know it's there type thing
-If a newer version is available, the application will display a prompt asking to update.

I'm working out the basic UI right now in QT and i will update this post as I work on it.

Posted: 29 Jul 2014, 21:03
by Kevsoft
Just a quick question: Wouldn't it be possible to save the version number in the exe file. I mean windows has saved the version in their exe files. How do Mac & Linux handle it?

Posted: 30 Jul 2014, 11:27
by Veudekato
well,this as path? if you turn down computer platgenwohl will corrupt?but this good idea

Posted: 30 Jul 2014, 13:13
by Kevsoft
Veudekato wrote:if you turn down computer platgenwohl will corrupt?
What do you mean O.o?

Posted: 30 Jul 2014, 14:33
by Wohlstand
Small note: An updater will be necessary for the installable application, it's currently portable only. It also will be better to check for an update on opening the application for the first time.

Posted: 31 Jul 2014, 0:00
by Luigifan2010
Just a quick question: Wouldn't it be possible to save the version number in the exe file. I mean windows has saved the version in their exe files. How do Mac & Linux handle it?

This would only work for Windows. Linux executables don't contain that metadata. OS X I'm not entirely sure about as again, I don't own a Mac.

Anyways Wohlstand mentioned something about an editor built in update function. At least for checking. I'm not sure how you guys want to handle this on the server end but the simplest way that I do is..

-I have a publicly exposed version.txt file that has the latest version. The programs version is checked against this
-I also have the necessary files named, in the example of my episode manager, "SMBXEpisodeManager_Latest.exe". My build is set to upload this to the ftp and I manually add the version.txt

Again, I'm totally inexperienced on the server end but this is how I did it with my Episode Manager.

The editor could have a check for updates button or it could do it on startup but we'd still need an external utility to pull down the necessary files and replace them, no matter what OS you're on you can't replace a running EXE :P

When an update is found, the program could launch this external updater app. I suppose we could make it so that if a normal user were to execute it, it would act like a force update type thing.

From there, necessary configs and such can be pulled down and replaced.

Now, I just have to work on learning cURL since C++ doesn't exactly have a simplistic "download files" library like C# and Java do..

Posted: 22 Aug 2014, 14:52
by DeuxEx
someone from the community tells me how to update platgenwohl and how to use it and where to download it?

Posted: 22 Aug 2014, 15:41
by Wohlstand
ImperatoreXx wrote:someone from the community tells me how to update platgenwohl and how to use it and where to download it?
It only planned. For update you need to check time and date of update and download 'lite' or 'tiny' archive and replace your current files with updated