40 lines
1.5 KiB
C#
40 lines
1.5 KiB
C#
|
using System;
|
|||
|
using System.Reflection;
|
|||
|
using System.Windows.Forms;
|
|||
|
|
|||
|
namespace SoFii {
|
|||
|
public static class Program {
|
|||
|
public static readonly Assembly CurrentAssembly = Assembly.GetExecutingAssembly();
|
|||
|
public static readonly AssemblyName CurrentAssemblyName = CurrentAssembly.GetName();
|
|||
|
|
|||
|
[STAThread]
|
|||
|
public static void Main() {
|
|||
|
Application.EnableVisualStyles();
|
|||
|
Application.SetCompatibleTextRenderingDefault(false);
|
|||
|
|
|||
|
int version = GetSemVerInt();
|
|||
|
int lastVersion = Settings.LastVersion;
|
|||
|
if(version < lastVersion) {
|
|||
|
DialogResult result = MessageBox.Show("You're opening an older version of SoFii after already having used a newer version.\r\nThis could corrupt your settings. Are you sure you want to continue?", "SoFii :: Old version warning", MessageBoxButtons.YesNo);
|
|||
|
if(result != DialogResult.Yes)
|
|||
|
return;
|
|||
|
|
|||
|
Settings.LastVersion = version;
|
|||
|
} else if(version > lastVersion)
|
|||
|
Settings.LastVersion = version;
|
|||
|
|
|||
|
Application.Run(new MainWindow());
|
|||
|
}
|
|||
|
|
|||
|
public static string GetSemVerString() {
|
|||
|
Version version = CurrentAssemblyName.Version;
|
|||
|
return $"{version.Major}.{version.Minor}.{version.Build}";
|
|||
|
}
|
|||
|
|
|||
|
public static int GetSemVerInt() {
|
|||
|
Version version = CurrentAssemblyName.Version;
|
|||
|
return (version.Major << 20) | (version.Minor << 10) | version.Build;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|