diff --git a/OpenRA.Mods.Common/Installer/SourceResolvers/GogSourceResolver.cs b/OpenRA.Mods.Common/Installer/SourceResolvers/GogSourceResolver.cs index 4f4f3dd74b..74a1a9b305 100644 --- a/OpenRA.Mods.Common/Installer/SourceResolvers/GogSourceResolver.cs +++ b/OpenRA.Mods.Common/Installer/SourceResolvers/GogSourceResolver.cs @@ -34,8 +34,13 @@ namespace OpenRA.Mods.Common.Installer var prefixes = new[] { "HKEY_LOCAL_MACHINE\\Software\\", "HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\" }; foreach (var prefix in prefixes) - if (Registry.GetValue($"{prefix}GOG.com\\Games\\{appId.Value}", "path", null) is string installDir) + { + if (!(Registry.GetValue($"{prefix}GOG.com\\Games\\{appId.Value}", "path", null) is string installDir)) + continue; + + if (InstallerUtils.IsValidSourcePath(installDir, modSource)) return installDir; + } return null; } diff --git a/OpenRA.Mods.Common/Installer/SourceResolvers/SteamSourceResolver.cs b/OpenRA.Mods.Common/Installer/SourceResolvers/SteamSourceResolver.cs index b86de2adb8..712bdd1f8d 100644 --- a/OpenRA.Mods.Common/Installer/SourceResolvers/SteamSourceResolver.cs +++ b/OpenRA.Mods.Common/Installer/SourceResolvers/SteamSourceResolver.cs @@ -43,8 +43,13 @@ namespace OpenRA.Mods.Common.Installer if (!data.TryGetValue("installdir", out var installDir)) continue; - if (installDir != null) - return Path.Combine(steamDirectory, "steamapps", "common", installDir); + if (installDir == null) + continue; + + var path = Path.Combine(steamDirectory, "steamapps", "common", installDir); + + if (InstallerUtils.IsValidSourcePath(path, modSource)) + return path; } return null;