diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml
index 62198fd36..6f787d350 100644
--- a/.github/workflows/build-release.yml
+++ b/.github/workflows/build-release.yml
@@ -196,6 +196,17 @@ jobs:
New-Item "unigetui_bin" -ItemType Directory | Out-Null
Get-ChildItem $PublishDir | Move-Item -Destination "unigetui_bin" -Force
+ $MaxShippedPdbSizeBytes = 1MB
+ $PdbsToRemove = Get-ChildItem "unigetui_bin" -Filter "*.pdb" -File | Where-Object {
+ $_.Length -gt $MaxShippedPdbSizeBytes
+ }
+
+ if ($PdbsToRemove.Count -gt 0) {
+ $RemovedPdbBytes = ($PdbsToRemove | Measure-Object -Property Length -Sum).Sum
+ $PdbsToRemove | Remove-Item -Force
+ Write-Host ("Removed {0} oversized PDBs above {1:N2} MiB ({2:N2} MiB total)." -f $PdbsToRemove.Count, ($MaxShippedPdbSizeBytes / 1MB), ($RemovedPdbBytes / 1MB))
+ }
+
# Backward-compat alias
Copy-Item "unigetui_bin/UniGetUI.exe" "unigetui_bin/WingetUI.exe" -Force
diff --git a/scripts/build.ps1 b/scripts/build.ps1
index afb68d981..4fbe15eee 100644
--- a/scripts/build.ps1
+++ b/scripts/build.ps1
@@ -88,6 +88,19 @@ New-Item $BinDir -ItemType Directory | Out-Null
# Move published output into unigetui_bin
Get-ChildItem $PublishDir | Move-Item -Destination $BinDir -Force
+# Keep smaller symbols for useful local crash source information, and prune oversized ones.
+$MaxShippedPdbSizeBytes = 1MB
+
+$PdbsToRemove = Get-ChildItem $BinDir -Filter "*.pdb" -File | Where-Object {
+ $_.Length -gt $MaxShippedPdbSizeBytes
+}
+
+if ($PdbsToRemove.Count -gt 0) {
+ $RemovedPdbBytes = ($PdbsToRemove | Measure-Object -Property Length -Sum).Sum
+ $PdbsToRemove | Remove-Item -Force
+ Write-Host ("Removed {0} oversized PDBs above {1:N2} MiB ({2:N2} MiB total)." -f $PdbsToRemove.Count, ($MaxShippedPdbSizeBytes / 1MB), ($RemovedPdbBytes / 1MB))
+}
+
# WingetUI.exe alias for backward compat
Copy-Item (Join-Path $BinDir "UniGetUI.exe") (Join-Path $BinDir "WingetUI.exe") -Force
diff --git a/scripts/merge-publish-output.ps1 b/scripts/merge-publish-output.ps1
index 9b1889090..c0bed85cf 100644
--- a/scripts/merge-publish-output.ps1
+++ b/scripts/merge-publish-output.ps1
@@ -37,6 +37,7 @@ $sourceWinsConflicts = @{
'Microsoft.VisualBasic.dll' = $true
'Microsoft.Win32.SystemEvents.dll' = $true
'System.Diagnostics.EventLog.dll' = $true
+ 'System.Diagnostics.EventLog.Messages.dll' = $true
'System.Drawing.Common.dll' = $true
'System.Drawing.dll' = $true
'System.Private.Windows.Core.dll' = $true
diff --git a/src/UniGetUI/UniGetUI.csproj b/src/UniGetUI/UniGetUI.csproj
index e558c3e58..c58a2508e 100644
--- a/src/UniGetUI/UniGetUI.csproj
+++ b/src/UniGetUI/UniGetUI.csproj
@@ -233,7 +233,7 @@
-
+