diff --git a/Ryujinx/Program.cs b/Ryujinx/Program.cs index b2b6cc735..fbf1196d0 100644 --- a/Ryujinx/Program.cs +++ b/Ryujinx/Program.cs @@ -50,7 +50,7 @@ namespace Ryujinx string appDataPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Ryujinx", "system", "prod.keys"); string userProfilePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), ".switch", "prod.keys"); - if (!File.Exists(appDataPath) && !File.Exists(userProfilePath)) + if (!File.Exists(appDataPath) && !File.Exists(userProfilePath) && !Migration.IsMigrationNeeded()) { GtkDialog.CreateErrorDialog("Key file was not found. Please refer to `KEYS.md` for more info"); } diff --git a/Ryujinx/Ui/Migration.cs b/Ryujinx/Ui/Migration.cs index c508878d6..9e9b80001 100644 --- a/Ryujinx/Ui/Migration.cs +++ b/Ryujinx/Ui/Migration.cs @@ -64,6 +64,9 @@ namespace Ryujinx.Ui dialogSuccess.Run(); + // Reload key set after migration to be sure to catch the keys in the system directory. + device.System.LoadKeySet(); + return true; } catch (HorizonResultException ex) @@ -171,7 +174,7 @@ namespace Ryujinx.Ui } } - private static bool IsMigrationNeeded() + public static bool IsMigrationNeeded() { string appDataPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);