The NSIS installer macro CheckIfAppIsRunning, and it's associated util function get_processes from nsis-tauri-utils does not take into account whether the process is owned by the current user and should when the install mode is set to currentUser.
We have environments utilizing Windows Terminal Services/Remote Desktop Services where there can be multiple users concurrently signed in and the app is installed at the user-level. When the installer/updater checks whether the process is running, it's naively checking based on the process name so in these multi-user environments, it sees multiple processes with the same name running under different users, fails to kill the process, and then fails to install/update.
Reproduction
Create a Tauri app setting the NSIS install mode to currentUser
Install and run the app under one Windows user
In a separate Windows account, attempt to install and run the app and it'll fail
(You can repo with standard Windows Home/Professional, don't need Windows Terminal Services/Remote Desktop Services)
Expected behavior
The NSIS installer, when install mode is set to currentUser, should only check whether the app is running for the current signed in user, not all signed in users.
Describe the bug
Hey! π
The NSIS installer macro
CheckIfAppIsRunning
, and it's associated util functionget_processes
fromnsis-tauri-utils
does not take into account whether the process is owned by the current user and should when the install mode is set tocurrentUser.
We have environments utilizing Windows Terminal Services/Remote Desktop Services where there can be multiple users concurrently signed in and the app is installed at the user-level. When the installer/updater checks whether the process is running, it's naively checking based on the process name so in these multi-user environments, it sees multiple processes with the same name running under different users, fails to kill the process, and then fails to install/update.
Reproduction
currentUser
(You can repo with standard Windows Home/Professional, don't need Windows Terminal Services/Remote Desktop Services)
Expected behavior
The NSIS installer, when install mode is set to
currentUser
, should only check whether the app is running for the current signed in user, not all signed in users.Platform and versions