diff --git a/SPTInstaller/SPTInstaller.csproj b/SPTInstaller/SPTInstaller.csproj
index 7e24b3d..6c35921 100644
--- a/SPTInstaller/SPTInstaller.csproj
+++ b/SPTInstaller/SPTInstaller.csproj
@@ -10,8 +10,8 @@
icon.ico
Assets\spt_installer.ico
Debug;Release;TEST
- 2.95
- 2.95
+ 2.96
+ 2.96
SPT
diff --git a/SPTInstaller/ViewModels/PreChecksViewModel.cs b/SPTInstaller/ViewModels/PreChecksViewModel.cs
index b09ebc6..8301c2c 100644
--- a/SPTInstaller/ViewModels/PreChecksViewModel.cs
+++ b/SPTInstaller/ViewModels/PreChecksViewModel.cs
@@ -244,29 +244,44 @@ public class PreChecksViewModel : ViewModelBase
InstallButtonCheckState = StatusSpinner.SpinnerState.Running;
var progress = new Progress((d) => { });
-
- var SPTReleaseInfoFile =
- await DownloadCacheHelper.GetOrDownloadFileAsync("release.json", DownloadCacheHelper.ReleaseMirrorUrl,
- progress, DownloadCacheHelper.SuggestedTtl);
-
- if (SPTReleaseInfoFile == null)
+
+ ReleaseInfo? sptReleaseInfo = null;
+ var retries = 1;
+
+ while (retries >= 0)
{
- InstallButtonText = "Could not get SPT release metadata";
- InstallButtonCheckState = StatusSpinner.SpinnerState.Error;
- return;
+ retries--;
+
+ try
+ {
+ var sptReleaseInfoFile =
+ await DownloadCacheHelper.GetOrDownloadFileAsync("release.json", DownloadCacheHelper.ReleaseMirrorUrl,
+ progress, DownloadCacheHelper.SuggestedTtl);
+
+ if (sptReleaseInfoFile == null)
+ {
+ InstallButtonText = "Could not get SPT release metadata";
+ InstallButtonCheckState = StatusSpinner.SpinnerState.Error;
+ return;
+ }
+
+ sptReleaseInfo =
+ JsonConvert.DeserializeObject(File.ReadAllText(sptReleaseInfoFile.FullName));
+ }
+ catch (Exception)
+ {
+ DownloadCacheHelper.ClearMetadataCache();
+ }
}
-
- var SPTReleaseInfo =
- JsonConvert.DeserializeObject(File.ReadAllText(SPTReleaseInfoFile.FullName));
-
- if (SPTReleaseInfo == null)
+
+ if (sptReleaseInfo == null)
{
InstallButtonText = "Could not parse latest SPT release";
InstallButtonCheckState = StatusSpinner.SpinnerState.Error;
return;
}
- InstallButtonText = $"Start Install: SPT v{SPTReleaseInfo.SPTVersion}";
+ InstallButtonText = $"Start Install: SPT v{sptReleaseInfo.SPTVersion}";
InstallButtonCheckState = StatusSpinner.SpinnerState.OK;
AllowDetailsButton = true;