Opened 4 years ago

Last modified 3 years ago

#769 new Feature Wish

windows binaries auto-updater

Reported by: Gert Döring Owned by:
Priority: major Milestone: release 2.4
Component: Generic / unclassified Version: OpenVPN git master branch (Community Ed)
Severity: Not set (select this one, unless your'e a OpenVPN developer) Keywords:
Cc: selvanair, Samuli Seppänen

Description

Hi,

I think we should have an auto-update function the binaries we provide, namely, "windows installers".

I've spent a bit of thinking, and it should not be THAT hard to do

  • in regular intervals (at every startup, once per day, once per week?) the GUI fetches an https URL that has a well-defined format that is easy to parse on windows - xml, json, whatever
  • in there, there's <release> and <beta> tags that specify version numbers and URLs

<release>

<os=win7>

<version>2.4.1.601</version><url>https://community.openvpn.net/...I601.exe</url>

</os>

<os=win8>

...

</release>

<beta>

...

(or something that makes sense, is human-understandable, and easy to machine-parse)

  • when the GUI finds a version number mismatch, present a "new version available (X), download y/n" window that will open a browser instance pointing to <url> if confirmed
  • the URL checked for updates defaults to our community download server, but can be stored in the registry so site admins can control their local update policy

Of course I'm not going to code it - lazy me, just throwing ideas at people :-)

Change History (6)

comment:1 Changed 3 years ago by chipitsine

android updater is just fine.

"there're so many packages to update" ... "there're so many packages updated"

it is very different from annoying windows updater (java, adobe, windows itself).

if someone understands how to make openvpn update the way android does, it would be just nice (from user point of view)

comment:2 Changed 3 years ago by chipitsine

comment:3 in reply to:  1 ; Changed 3 years ago by Gert Döring

Replying to chipitsine:

if someone understands how to make openvpn update the way android does, it would be just nice (from user point of view)

Since windows does not have a central software management / upgrade system (and a central software *source*, like the android or apple store), this is just wishful thinking. Yes, it would be nice, but it's not worth spending time hoping for it to happen.

On Win10, we might be able to do something with the windows store, but openvpn would need to be turned into an "App", as far as I understand store requirements. Won't help with Win7, though, so that's more "very long term".

comment:4 in reply to:  3 Changed 3 years ago by chipitsine

Replying to cron2:

Replying to chipitsine:

if someone understands how to make openvpn update the way android does, it would be just nice (from user point of view)

Since windows does not have a central software management / upgrade system (and a central software *source*, like the android or apple store), this is just wishful thinking. Yes, it would be nice, but it's not worth spending time hoping for it to happen.

I mean user experience, not central store.
I disable java/adobe/chrome updaters myself, they are too annoying.

however, I never came to idea to disable android software updates.

On Win10, we might be able to do something with the windows store, but openvpn would need to be turned into an "App", as far as I understand store requirements. Won't help with Win7, though, so that's more "very long term".

comment:5 Changed 3 years ago by chipitsine

I'm not UX guru, but from my point of view it looks like "user context".
i.e. when user is going to do something (start openvpn-gui, connect to somewhere, perform some task) it is not appropriate to annoy.

but if we measure user activity, and if we see that user is idle (for 10 minutes), ok, we can annoy a bit and suggest to update.

comment:6 Changed 3 years ago by Samuli Seppänen

Perhaps we could use a combined approach:

  • Add opt-in installation of Chocolatey to Windows installers
  • Have something check periodically if there are updates
    • Separate, minimal updater service? OpenVPN-GUI?
    • Imho: only prompt if the update is an important security update
    • Only prompt if Chocolatey is not installed
    • Only prompt if user has admin privileges (i.e. able to do something about the old install)
    • If Chocolatey repo is present, then the something could use the Chocolatey metadata to determine if a new OpenVPN version is available
      • This would mean any update, though, not just important security updates

As said in the mailing list thread, I think that Chocolatey would help a lot in Windows test automation, and I want to implement it anyways. I've created some Chocolatey packages in the past, so it's not a huge effort.

As chipitsine suggested, contacting the current OpenVPN Cholatey package maintainer makes sense.

It seems that Windows is slowly moving towards an unified package management, but things are still a big mess, even with OneGet and Chocolatey.

Note: See TracTickets for help on using tickets.