Opened 10 years ago

Closed 10 years ago

#390 closed Bug / Defect (fixed)

windows installer needs to kill gui on upgrade or uninstall

Reported by: Gert Döring Owned by: Samuli Seppänen
Priority: major Milestone: release 2.3.4
Component: Packaging Version: OpenVPN 2.3.2 (Community Ed)
Severity: Not set (select this one, unless your'e a OpenVPN developer) Keywords:
Cc:

Description

Hiya,

if you uninstall openvpn while the openvpn-gui is still running, it will not stop the gui, but leave bin\openvpn-gui.exe and bin\ssleay.dll behind (and no message).

I think I've also seen problems due to this when upgrading while the gui process was still running, so the installer should kill openvpn-gui.exe before upgrading or when deinstalling.

Change History (4)

comment:1 Changed 10 years ago by Samuli Seppänen

This is a known issue. I think it would be safest to complain loudly if openvpn-gui.exe is running and bail out. While killing the process might work also, it could have unintended side-effects like openvpn processes left hanging in the background.

I will look into this and hopefully merge the fix into OpenVPN 2.4 installers.

comment:2 Changed 10 years ago by Gert Döring

Since 2.4 is quite a bit away, it would be great if we could at least the "openvpn-gui.exe is still running, cannot continue!" check into the 2.3.x installers - we'll see a few more upgrades of them in the near future...

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

Looking at NSIS docs it looks like we could check if openvpn-gui.exe is running:

It seems the NsProcess plugin is something which we could fairly easily use. I'll take a stab at integrating it in the next installers.

comment:4 Changed 10 years ago by Samuli Seppänen

Resolution: fixed
Status: newclosed

Fixed in 2.3.4. Now the installer does three things:

  • If openvpn-gui is running, stop it
  • If openvpn service is on, stop it (same behavior as "always")
  • If some other openvpn.exe process is running, bail out with an error message

Thanks to _bt on IRC for fixing this!

Note: See TracTickets for help on using tickets.