diff --git a/Source/AppScaffolding/AppScaffolding.csproj b/Source/AppScaffolding/AppScaffolding.csproj
index 1af8a597..6be592b1 100644
--- a/Source/AppScaffolding/AppScaffolding.csproj
+++ b/Source/AppScaffolding/AppScaffolding.csproj
@@ -3,7 +3,7 @@
net6.0-windows
True
- 8.1.4.30
+ 8.1.4.31
diff --git a/Source/publish.bat b/Source/publish.bat
deleted file mode 100644
index 3b9e523b..00000000
--- a/Source/publish.bat
+++ /dev/null
@@ -1,4 +0,0 @@
-rmdir bin\Publish /S /Q
-dotnet publish -c Release LibationWinForms\LibationWinForms.csproj -p:PublishProfile=LibationWinForms\Properties\PublishProfiles\FolderProfile.pubxml
-dotnet publish -c Release LibationCli\LibationCli.csproj -p:PublishProfile=LibationCli\Properties\PublishProfiles\FolderProfile.pubxml
-dotnet publish -c Release Hangover\Hangover.csproj -p:PublishProfile=Hangover\Properties\PublishProfiles\FolderProfile.pubxml
\ No newline at end of file
diff --git a/Source/publish.ps1 b/Source/publish.ps1
new file mode 100644
index 00000000..42526049
--- /dev/null
+++ b/Source/publish.ps1
@@ -0,0 +1,15 @@
+<# You must enable running powershell scripts.
+
+ Set-ExecutionPolicy -Scope CurrentUser Unrestricted
+#>
+
+$pubDir = "bin\Publish"
+Remove-Item $pubDir -Recurse -Force
+
+dotnet publish -c Release LibationWinForms\LibationWinForms.csproj -p:PublishProfile=LibationWinForms\Properties\PublishProfiles\FolderProfile.pubxml
+dotnet publish -c Release LibationCli\LibationCli.csproj -p:PublishProfile=LibationCli\Properties\PublishProfiles\FolderProfile.pubxml
+dotnet publish -c Release Hangover\Hangover.csproj -p:PublishProfile=Hangover\Properties\PublishProfiles\FolderProfile.pubxml
+
+$verMatch = Select-String -Path 'AppScaffolding\AppScaffolding.csproj' -Pattern '(\d{0,3}\.\d{0,3}\.\d{0,3})\.\d{0,3}'
+$archiveName = "bin\Libation."+$verMatch.Matches.Groups[1].Value+".zip"
+Compress-Archive -Path $pubDir -DestinationPath $archiveName -Force
\ No newline at end of file