From a12faee21e6b0ccdc914fbe55e8ccc6189d7d115 Mon Sep 17 00:00:00 2001 From: erri120 Date: Wed, 30 Oct 2019 18:19:37 +0100 Subject: [PATCH] ExtensionManager: Added NeedsUpating function --- Wabbajack.Common/ExtensionManager.cs | 8 ++++++++ Wabbajack/AppState.cs | 12 +----------- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/Wabbajack.Common/ExtensionManager.cs b/Wabbajack.Common/ExtensionManager.cs index 98aeb8c9..76afdd6d 100644 --- a/Wabbajack.Common/ExtensionManager.cs +++ b/Wabbajack.Common/ExtensionManager.cs @@ -28,6 +28,14 @@ namespace Wabbajack.Common {"PerceivedType", "Compressed"} }; + public static bool NeedsUpdating(string appPath) + { + var progIDKey = Registry.CurrentUser.OpenSubKey(ProgIDPath); + var tempKey = progIDKey?.OpenSubKey("shell\\open\\command"); + if (progIDKey == null || tempKey == null) return true; + return tempKey.GetValue("").ToString().Equals($"\"{appPath}\" -i \"%1\""); + } + public static bool IsAssociated(string appPath) { var progIDKey = Registry.CurrentUser.OpenSubKey(ProgIDPath); diff --git a/Wabbajack/AppState.cs b/Wabbajack/AppState.cs index bf7c649a..fcc8f9ba 100644 --- a/Wabbajack/AppState.cs +++ b/Wabbajack/AppState.cs @@ -86,17 +86,7 @@ namespace Wabbajack } var appPath = Assembly.GetExecutingAssembly().Location; - var iconPath = Path.Combine(Path.GetDirectoryName(appPath), "wabbajack.ico"); - if(!File.Exists(iconPath)) - { - using (var s = Utils.GetResourceStream("Wabbajack.UI.Icons.icon-embedded.ico")) - using (var fs = new FileStream(iconPath, FileMode.Create)) - { - s.CopyTo(fs); - } - } - - if (!ExtensionManager.IsAssociated(appPath)) + if (!(ExtensionManager.IsAssociated(appPath) || ExtensionManager.NeedsUpdating(appPath))) { ExtensionManager.Associate(appPath); }