From f13f83451ac5b2651ee055500b34986f9ef0c56a Mon Sep 17 00:00:00 2001 From: CWX Date: Mon, 25 Jul 2022 22:31:30 +0100 Subject: [PATCH] update to check that EXE exists in path folder --- Aki.Core/Tasks/IntializationTask.cs | 10 +++++++++- Aki.Helper/PreCheckHelper.cs | 14 ++++++++++++-- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/Aki.Core/Tasks/IntializationTask.cs b/Aki.Core/Tasks/IntializationTask.cs index 7ba3a52..501be14 100644 --- a/Aki.Core/Tasks/IntializationTask.cs +++ b/Aki.Core/Tasks/IntializationTask.cs @@ -23,7 +23,14 @@ namespace SPT_AKI_Installer.Aki.Core.Tasks return GenericResult.FromError("EFT IS NOT INSTALLED!"); } - _data.OriginalGameVersion = PreCheckHelper.DetectOriginalGameVersion(_data.OriginalGamePath); + var result = PreCheckHelper.DetectOriginalGameVersion(_data.OriginalGamePath); + + if (!result.Succeeded) + { + return result; + } + + _data.OriginalGameVersion = result.Message; if (_data.OriginalGamePath == null) { @@ -40,6 +47,7 @@ namespace SPT_AKI_Installer.Aki.Core.Tasks return GenericResult.FromError("Installer is located in a Folder that has existing Game Files. Please make sure the installer is in a fresh folder as per the guide"); } + return GenericResult.FromSuccess($"Current Game Version: {_data.OriginalGameVersion}"); } } diff --git a/Aki.Helper/PreCheckHelper.cs b/Aki.Helper/PreCheckHelper.cs index 6919988..4ffdd0c 100644 --- a/Aki.Helper/PreCheckHelper.cs +++ b/Aki.Helper/PreCheckHelper.cs @@ -1,4 +1,6 @@ using Microsoft.Win32; +using SPT_AKI_Installer.Aki.Core.Model; +using System; using System.Diagnostics; using System.IO; using System.Runtime.InteropServices; @@ -22,9 +24,17 @@ namespace SPT_AKI_Installer.Aki.Helper return info?.DirectoryName; } - public static string DetectOriginalGameVersion(string gamePath) + public static GenericResult DetectOriginalGameVersion(string gamePath) { - return FileVersionInfo.GetVersionInfo(Path.Join(gamePath + "/EscapeFromTarkov.exe")).ProductVersion.Replace('-', '.').Split('.')[^2]; + try + { + string version = FileVersionInfo.GetVersionInfo(Path.Join(gamePath + "/EscapeFromTarkov.exe")).ProductVersion.Replace('-', '.').Split('.')[^2]; + return GenericResult.FromSuccess(version); + } + catch (Exception ex) + { + return GenericResult.FromError($"File not found: {ex.Message}"); + } } } }