diff options
Diffstat (limited to 'Ryujinx/Modules/Updater/Updater.cs')
-rw-r--r-- | Ryujinx/Modules/Updater/Updater.cs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/Ryujinx/Modules/Updater/Updater.cs b/Ryujinx/Modules/Updater/Updater.cs index b4fe3351..c7def960 100644 --- a/Ryujinx/Modules/Updater/Updater.cs +++ b/Ryujinx/Modules/Updater/Updater.cs @@ -2,6 +2,7 @@ using Gtk; using ICSharpCode.SharpZipLib.GZip; using ICSharpCode.SharpZipLib.Tar; using ICSharpCode.SharpZipLib.Zip; +using Mono.Unix; using Newtonsoft.Json.Linq; using Ryujinx.Common.Logging; using Ryujinx.Ui; @@ -325,6 +326,17 @@ namespace Ryujinx.Modules } } + private static void SetUnixPermissions() + { + string ryuBin = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Ryujinx"); + + if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) + { + UnixFileInfo unixFileInfo = new UnixFileInfo(ryuBin); + unixFileInfo.FileAccessPermissions |= FileAccessPermissions.UserExecute; + } + } + private static async void InstallUpdate(UpdateDialog updateDialog, string updateFile) { // Extract Update @@ -444,6 +456,8 @@ namespace Ryujinx.Modules Directory.Delete(UpdateDir, true); + SetUnixPermissions(); + updateDialog.MainText.Text = "Update Complete!"; updateDialog.SecondaryText.Text = "Do you want to restart Ryujinx now?"; updateDialog.Modal = true; |