Fix Windows builds

This commit is contained in:
JustArchi
2017-08-02 20:47:53 +02:00
parent ab90c9dc68
commit 51d59f0f66
2 changed files with 13 additions and 6 deletions

View File

@@ -33,7 +33,6 @@ using System.Threading;
using System.Threading.Tasks;
using ArchiSteamFarm.JSON;
using ArchiSteamFarm.Localization;
using Mono.Unix;
namespace ArchiSteamFarm {
internal static class ASF {
@@ -214,11 +213,7 @@ namespace ArchiSteamFarm {
if (IsUnixVersion(version)) {
string executable = Path.Combine(targetDirectory, SharedInfo.AssemblyName);
if (File.Exists(executable)) {
if (UnixFileSystemInfo.TryGetFileSystemEntry(executable, out UnixFileSystemInfo entry)) {
if (!entry.FileAccessPermissions.HasFlag(FileAccessPermissions.UserExecute)) {
entry.FileAccessPermissions = entry.FileAccessPermissions | FileAccessPermissions.UserExecute;
}
}
OS.UnixSetFileAccessExecutable(executable);
}
}

View File

@@ -23,8 +23,10 @@
*/
using System;
using System.IO;
using System.Runtime.InteropServices;
using ArchiSteamFarm.Localization;
using Mono.Unix;
namespace ArchiSteamFarm {
internal static class OS {
@@ -44,6 +46,16 @@ namespace ArchiSteamFarm {
}
}
internal static void UnixSetFileAccessExecutable(string path) {
if (!File.Exists(path) || !UnixFileSystemInfo.TryGetFileSystemEntry(path, out UnixFileSystemInfo entry)) {
return;
}
if (!entry.FileAccessPermissions.HasFlag(FileAccessPermissions.UserExecute)) {
entry.FileAccessPermissions = entry.FileAccessPermissions | FileAccessPermissions.UserExecute;
}
}
private static void DisableQuickEditMode() {
// http://stackoverflow.com/questions/30418886/how-and-why-does-quickedit-mode-in-command-prompt-freeze-applications
IntPtr consoleHandle = NativeMethods.GetStdHandle(NativeMethods.StandardInputHandle);