wavebox / waveboxapp

Wavebox, the revolutionary and feature-rich Chromium browser that's built for productive working across Google Workspaces, Microsoft Teams, ClickUp, Monday, Atlassian, Asana, AirTable, Slack, and every other web app you use to get work done.
https://wavebox.io
1.3k stars 135 forks source link

Windows exec changes path on update. Firewall, Tray & Apps need reconfigure after update #997

Open VarunAgw opened 5 years ago

VarunAgw commented 5 years ago

With every update, it changes the directory of main executable, i.e. "C:\Users\VarunAgw\AppData\Local\wavebox\app-4.7.2\Wavebox.exe"

This cause issues with firewall since the path is different everytime and I have to manually whitelist it again.

Chrome never have this issue and have constant path for chrome.exe

nmat commented 5 years ago

Which firewall are you using? because I never had to do this on windows firewall

VarunAgw commented 5 years ago

I use Windows firewall (using WFC wrapper). My rule is "Outbound connection that don't match any rule are blocked".

So instead of blacklist, I maintain a list of whitelisted application by path.

nmat commented 5 years ago

You could try to whitelist: C:\Users[youruser]\AppData\Local\wavebox\Wavebox.exe

I am checking how it is launched here and it looks like the target is that one from the shortcut

VarunAgw commented 5 years ago

It is launched from there but network request comes from C:\Users\VarunAgw\AppData\Local\wavebox\app-4.7.2\Wavebox.exe

Thomas101 commented 5 years ago

This is down to the upstream updater that we use - when the app updates the path to the app also changes. https://github.com/Squirrel/Squirrel.Windows/issues/1052

The root cause is similar to https://github.com/wavebox/waveboxapp/issues/978 in Wavebox.

I'll see if there is anything we can do about this

nmat commented 5 years ago

Sounds ideal since it would in the case of the report mean you can make the whitelisting of application easier. Many companies nowadays also use this type of whitelisting in some cases.

ferenczy commented 5 years ago

I would just add that it's not just about the firewall, also systray icon configuration is tied to a full executable path, or there're various 3rd party applications which are doing the same thing (e.g. DisplayFusion). All of them I have to reconfigure with every new Wavebox's version, i.e. several times per week.

It's right there's an executable on a stable path "C:\Users\<username>\AppData\Local\wavebox\Wavebox.exe", but the problem is that it's executing the newest installed version of Wavebox as a new process, so what is actually running, making network requests and appearing as application's executable to Windows and 3rd party applications is "C:\Users\<username>\AppData\Local\wavebox\app-<version>\Wavebox.exe" (you can see that in Task Manager on Wavebox's process under the Command line column).

To fix it, the executable "C:\Users\<username>\AppData\Local\wavebox\Wavebox.exe" would have to execute currently installed Wavebox's version "inside" itself instead of executing it as a new process. That way, it would appear that Wavebox's executable is "C:\Users\<username>\AppData\Local\wavebox\Wavebox.exe" to the system and 3rd party applications.

Thomas101 commented 5 years ago

Also a valid case, thanks @ferenczy

sandeep1995 commented 4 years ago

@Thomas101 Do we have a solution for this? I asked this StackOverflow question few months back regarding this.

Thomas101 commented 4 years ago

@sandeep1995 we looked at how we could do this with Squirrel & Electron but it would require big changes to both - which I'm not sure would have been merge-able upstream.

We launched Wavebox 10 at the end of last year, which is built directly on Chromium, this uses a side-by-side configuration to keep the runtime binary and location the same between different versions. As far as I'm aware this kind of configuration isn't supported by Electron