diff --git a/.github/workflows/build-and-release.yml b/.github/workflows/build-and-release.yml
index 234ae3e..3611921 100644
--- a/.github/workflows/build-and-release.yml
+++ b/.github/workflows/build-and-release.yml
@@ -102,20 +102,18 @@ jobs:
- name: Create SHA-256 checksum
shell: pwsh
- env:
- APP_VERSION: ${{ steps.version.outputs.number }}
run: |
- $installer = Get-Item "artifacts\OneNoteBackupExporter_Setup_$env:APP_VERSION.exe"
+ $installer = Get-Item "artifacts\OneNoteBackupExporter_Setup.exe"
$hash = (Get-FileHash $installer.FullName -Algorithm SHA256).Hash.ToLowerInvariant()
"$hash $($installer.Name)" | Set-Content "$($installer.FullName).sha256" -Encoding ascii
- name: Upload build artifact
uses: actions/upload-artifact@v4
with:
- name: OneNoteBackupExporter-${{ steps.version.outputs.number }}
+ name: OneNoteBackupExporter-Windows-x64
path: |
- artifacts/OneNoteBackupExporter_Setup_${{ steps.version.outputs.number }}.exe
- artifacts/OneNoteBackupExporter_Setup_${{ steps.version.outputs.number }}.exe.sha256
+ artifacts/OneNoteBackupExporter_Setup.exe
+ artifacts/OneNoteBackupExporter_Setup.exe.sha256
if-no-files-found: error
retention-days: 14
@@ -131,7 +129,7 @@ jobs:
- name: Download installer artifact
uses: actions/download-artifact@v4
with:
- name: OneNoteBackupExporter-${{ needs.build.outputs.version }}
+ name: OneNoteBackupExporter-Windows-x64
path: artifacts
- name: Create release and upload installer
diff --git a/AboutWindow.xaml b/AboutWindow.xaml
new file mode 100644
index 0000000..04ae14a
--- /dev/null
+++ b/AboutWindow.xaml
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/AboutWindow.xaml.cs b/AboutWindow.xaml.cs
new file mode 100644
index 0000000..e51f624
--- /dev/null
+++ b/AboutWindow.xaml.cs
@@ -0,0 +1,31 @@
+using System.Reflection;
+using System.Windows;
+
+namespace OneNoteExporter;
+
+public partial class AboutWindow : Window
+{
+ public AboutWindow()
+ {
+ InitializeComponent();
+
+ var assembly = Assembly.GetExecutingAssembly();
+ var informationalVersion = assembly
+ .GetCustomAttribute()?
+ .InformationalVersion;
+ var versionParts = informationalVersion?.Split('+', 2);
+ var version = versionParts is { Length: > 0 } && !string.IsNullOrWhiteSpace(versionParts[0])
+ ? versionParts[0]
+ : assembly.GetName().Version?.ToString(3) ?? "Unknown";
+ var configuration = assembly
+ .GetCustomAttribute()?
+ .Configuration ?? "Release";
+
+ VersionText.Text = $"Version {version}";
+ BuildText.Text = versionParts is { Length: 2 }
+ ? $"{configuration} build · {versionParts[1][..Math.Min(7, versionParts[1].Length)]}"
+ : $"{configuration} build";
+ }
+
+ private void CloseButton_Click(object sender, RoutedEventArgs e) => Close();
+}
diff --git a/App.xaml b/App.xaml
index ac8316b..d1d9307 100644
--- a/App.xaml
+++ b/App.xaml
@@ -146,6 +146,27 @@
+
+
+