You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
On Windows 10, UWP apps such as the Xbox app (which may be impacted, particularly by GPU execution) cannot be added as exclusive applications because BOINC does not recognize them as executable:
'XboxApp.exe' is not an executable application.
This is even though the apps can be executed, and indeed may be running, as that user or another.
In practice this file can be opened as executable, even by the user, but only when actually executing the app. Indeed it seems that this problem is already known (to an extent) based on a line just a little further down:
// wxFileName::IsFileExecutable() doesn't seem to work on Windows,
I therefore suggest that executability not be tested - after all, you might want to disable BOINC when applications are running which the user in question cannot execute, even as an app, if it interferes with them.
At the end of the day, BOINC needs a list of filenames to processes it can see running. If if it gets a validly-formatted filename (not necessarily an existing file), as fn.IsOk()implies, should that not be enough?
I'm not sure it should even test (e.g. fn.FileExists()) whether the file can be accessed by the current user, since that is not a requirement for it being a running process on the computer - though I don't know if you can still see the filename in the process list in that case.
In this light a file picker might not be the ideal option, but it'd be possible to remove wxFD_FILE_MUST_EXIST which would allow users to enter filenames that aren't visible to them:
I'm inclined to agree, the requirement that exclusive apps be executable by the BOINC process seems entirely bogus to me, especially because it's reasonably certain to not be the case for certain types of application when running BOINC as a service.
…ability.
... because the file may be inaccessible to or not executable by user.
Also don't require .exe or .app extension.
The user can use the file picker to locate the file, but they don't have to;
they can just type in the file name.
Addresses issue #2826
On Windows 10, UWP apps such as the Xbox app (which may be impacted, particularly by GPU execution) cannot be added as exclusive applications because BOINC does not recognize them as executable:
This is even though the apps can be executed, and indeed may be running, as that user or another.
Here is a screenshot of the advanced security settings for this executable.
(I wasn't able to upload it to the issue - "Something went really wrong".)
As you can see it provides a condition to executablilty:
This is an AppContainer package moniker attached to the impersonation security token upon app execution.
The issue is that BOINC is checking for the ability to open for executability by the BOINC process:
boinc/clientgui/DlgExclusiveApps.cpp
Line 331 in f14d96d
In practice this file can be opened as executable, even by the user, but only when actually executing the app. Indeed it seems that this problem is already known (to an extent) based on a line just a little further down:
boinc/clientgui/DlgExclusiveApps.cpp
Line 360 in f14d96d
I therefore suggest that executability not be tested - after all, you might want to disable BOINC when applications are running which the user in question cannot execute, even as an app, if it interferes with them.
At the end of the day, BOINC needs a list of filenames to processes it can see running. If if it gets a validly-formatted filename (not necessarily an existing file), as
fn.IsOk()
implies, should that not be enough?I'm not sure it should even test (e.g.
fn.FileExists()
) whether the file can be accessed by the current user, since that is not a requirement for it being a running process on the computer - though I don't know if you can still see the filename in the process list in that case.In this light a file picker might not be the ideal option, but it'd be possible to remove
wxFD_FILE_MUST_EXIST
which would allow users to enter filenames that aren't visible to them:boinc/clientgui/DlgExclusiveApps.cpp
Line 311 in f14d96d
This would also save time when the user knows the filename they want to enter, but not its location.
The text was updated successfully, but these errors were encountered: