From f3ed31372b8ec23d6354ca75a349102c06c9599d Mon Sep 17 00:00:00 2001
From: Wesley Pyburn <10319195+TCNOco@users.noreply.github.com>
Date: Sun, 25 Aug 2024 16:27:09 +0200
Subject: [PATCH] 2024-08-25 - Version bump + Updater
For #355. Changes file versions for all .exes, installers, etc.
---
Installer/Installer.rc | 8 +-
.../TcNo-Acc-Switcher-Client.csproj | 4 +-
TcNo-Acc-Switcher-Globals/Globals.cs | 2 +-
.../TcNo-Acc-Switcher-Server.csproj | 4 +-
_Updater_Wrapper/_Wrapper.rc | 8 +-
other/NSIS/nsis-build-x64.nsi | 6 +-
updateversion.ps1 | 101 ++++++++++++++++++
7 files changed, 117 insertions(+), 16 deletions(-)
create mode 100644 updateversion.ps1
diff --git a/Installer/Installer.rc b/Installer/Installer.rc
index 6f3debbd4..ef0c7a461 100644
--- a/Installer/Installer.rc
+++ b/Installer/Installer.rc
@@ -61,8 +61,8 @@ IDI_ICON1 ICON "..\\TcNo-Acc-Switcher-Tray\\fav
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,0,0,1
- PRODUCTVERSION 1,0,0,1
+ FILEVERSION 2024,08,25,00
+ PRODUCTVERSION 2024,08,25,00
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -79,12 +79,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "TroubleChute (Wesley Pyburn)"
VALUE "FileDescription", "Easy redistributable installer for the TcNo Account Switcher"
- VALUE "FileVersion", "1.0.0.1"
+ VALUE "FileVersion", "2024.08.25.00"
VALUE "InternalName", "_First_R.exe"
VALUE "LegalCopyright", "Copyright © TroubleChute (Wesley Pyburn) 2019-2024"
VALUE "OriginalFilename", "_First_Run_Installer.exe"
VALUE "ProductName", "TcNo Account Switcher - Redistributable Installer"
- VALUE "ProductVersion", "1.0.0.1"
+ VALUE "ProductVersion", "2024.08.25.00"
END
END
BLOCK "VarFileInfo"
diff --git a/TcNo-Acc-Switcher-Client/TcNo-Acc-Switcher-Client.csproj b/TcNo-Acc-Switcher-Client/TcNo-Acc-Switcher-Client.csproj
index 44c55f169..4931278c5 100644
--- a/TcNo-Acc-Switcher-Client/TcNo-Acc-Switcher-Client.csproj
+++ b/TcNo-Acc-Switcher-Client/TcNo-Acc-Switcher-Client.csproj
@@ -6,7 +6,7 @@
TcNo_Acc_Switcher_Client
true
favicon.ico
- 4.1.0
+ 2024.08.25.00
TroubleChute (Wesley Pyburn)
TcNo Account Switcher
Copyright © TroubleChute (Wesley Pyburn) 2019-2024
@@ -14,7 +14,7 @@
TcNoAccSw-Icon-100x100.png
https://github.com/TcNobo/TcNo-Acc-Switcher
TcNo-Acc-Switcher
- 4.0.0.0
+ 2024.08.25.00
x64
false
README.md
diff --git a/TcNo-Acc-Switcher-Globals/Globals.cs b/TcNo-Acc-Switcher-Globals/Globals.cs
index 117d98e3e..0f2bfe012 100644
--- a/TcNo-Acc-Switcher-Globals/Globals.cs
+++ b/TcNo-Acc-Switcher-Globals/Globals.cs
@@ -1,4 +1,4 @@
-// TcNo Account Switcher - A Super fast account switcher
+// TcNo Account Switcher - A Super fast account switcher
// Copyright (C) 2019-2024 TroubleChute (Wesley Pyburn)
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/TcNo-Acc-Switcher-Server/TcNo-Acc-Switcher-Server.csproj b/TcNo-Acc-Switcher-Server/TcNo-Acc-Switcher-Server.csproj
index fb221d2f2..821b4f937 100644
--- a/TcNo-Acc-Switcher-Server/TcNo-Acc-Switcher-Server.csproj
+++ b/TcNo-Acc-Switcher-Server/TcNo-Acc-Switcher-Server.csproj
@@ -3,7 +3,7 @@
net8.0
TcNo_Acc_Switcher_Server
wwwroot\favicon.ico
- 4.0.0
+ 2024.08.25.00
TroubleChute (Wesley Pyburn)
TcNo Account Switcher - Server
Copyright © TroubleChute (Wesley Pyburn) 2022
@@ -266,4 +266,4 @@
-
\ No newline at end of file
+
diff --git a/_Updater_Wrapper/_Wrapper.rc b/_Updater_Wrapper/_Wrapper.rc
index 9170196f7..d25468476 100644
--- a/_Updater_Wrapper/_Wrapper.rc
+++ b/_Updater_Wrapper/_Wrapper.rc
@@ -61,8 +61,8 @@ IDI_ICON1 ICON "..\\TcNo-Acc-Switcher-Tray\\fav
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,0,0,1
- PRODUCTVERSION 1,0,0,1
+ FILEVERSION 2024,08,25,00
+ PRODUCTVERSION 2024,08,25,00
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -79,12 +79,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "TroubleChute (Wesley Pyburn)"
VALUE "FileDescription", "TcNo Account Switcher Wrapper"
- VALUE "FileVersion", "1.0.0.0"
+ VALUE "FileVersion", "2024.08.25.00"
VALUE "InternalName", "_Wrap.exe"
VALUE "LegalCopyright", "Copyright © TroubleChute (Wesley Pyburn) 2019-2024"
VALUE "OriginalFilename", "_Wrapper.exe"
VALUE "ProductName", "TcNo Account Switcher - Wrapper"
- VALUE "ProductVersion", "1.0.0.1"
+ VALUE "ProductVersion", "2024.08.25.00"
END
END
BLOCK "VarFileInfo"
diff --git a/other/NSIS/nsis-build-x64.nsi b/other/NSIS/nsis-build-x64.nsi
index be3adf813..d7d5961ce 100644
--- a/other/NSIS/nsis-build-x64.nsi
+++ b/other/NSIS/nsis-build-x64.nsi
@@ -14,7 +14,7 @@
!define LNK_NAME "TcNo Account Switcher.lnk"
!define COMP_NAME "TechNobo (Wesley Pyburn)"
!define WEB_SITE "https://tcno.co"
-!define VERSION "4.0.0.0"
+!define VERSION "2024.08.25.00"
!define COPYRIGHT "TechNobo (Wesley Pyburn) (C) 2021"
!define DESCRIPTION "TcNo Account Switcher"
!define LICENSE_TXT "..\..\LICENSE"
@@ -140,7 +140,7 @@ Section "Main files" InstSec
;Create uninstaller
WriteUninstaller "$INSTDIR\${UNINSTALL_EXE}"
WriteRegStr HKLM "${UNINST_KEY}" "DisplayName" "TcNo Account Switcher"
- WriteRegStr HKLM "${UNINST_KEY}" "DisplayVersion" "4"
+ WriteRegStr HKLM "${UNINST_KEY}" "DisplayVersion" "${VERSION}"
WriteRegStr HKLM "${UNINST_KEY}" "UninstallString" "$INSTDIR\${UNINSTALL_EXE}"
WriteRegStr HKLM "${UNINST_KEY}" "InstallLocation" "$INSTDIR"
WriteRegStr HKLM "${UNINST_KEY}" "Publisher" "${COMP_NAME}"
@@ -200,4 +200,4 @@ Section "Uninstall"
DeleteRegKey HKLM "${UNINST_KEY}"
;Remove Protocol entry
DeleteRegKey HKCR "tcno"
-SectionEnd
\ No newline at end of file
+SectionEnd
diff --git a/updateversion.ps1 b/updateversion.ps1
new file mode 100644
index 000000000..f935c6476
--- /dev/null
+++ b/updateversion.ps1
@@ -0,0 +1,101 @@
+# Define the paths to the NSIS script file and the Installer RC file
+
+$dateVersion = Read-Host "Enter the date version number (format: YYYY-MM-DD_VV)"
+$nsisVersion = $dateVersion -replace "-", "." -replace "_", "."
+$rcVersion = $dateVersion -replace "-", "," -replace "_", ","
+
+# -------------------------------
+# Update the NSIS script file
+# -------------------------------
+
+$nsisFilePath = "other\NSIS\nsis-build-x64.nsi"
+$nsisFileContent = Get-Content $nsisFilePath
+$nsisReplacement = '!define VERSION "' + $nsisVersion + '"'
+$nsisFileContent = $nsisFileContent -replace '^!define VERSION\s+".*"$', $nsisReplacement
+$nsisFileContent | Set-Content $nsisFilePath
+
+Write-Host "UPDATED NSIS"
+
+# -------------------------------
+# Update the Installer RC file
+# -------------------------------
+
+$rcFilePath = "Installer\Installer.rc"
+$rcFileContent = Get-Content $rcFilePath
+
+$rcProductVersionReplacement = ' PRODUCTVERSION ' + $rcVersion
+$rcFileVersionReplacement = ' FILEVERSION ' + $rcVersion
+
+$rcValueProductVersionReplacement = ' VALUE "ProductVersion", "' + $nsisVersion + '"'
+$rcValueFileVersionReplacement = ' VALUE "FileVersion", "' + $nsisVersion + '"'
+
+$rcFileContent = $rcFileContent -replace '^\s*PRODUCTVERSION\s+\d+,\d+,\d+,\d+', $rcProductVersionReplacement
+$rcFileContent = $rcFileContent -replace '^\s*FILEVERSION\s+\d+,\d+,\d+,\d+', $rcFileVersionReplacement
+$rcFileContent = $rcFileContent -replace '^\s*VALUE "ProductVersion",\s*"\d+\.\d+\.\d+\.\d+"', $rcValueProductVersionReplacement
+$rcFileContent = $rcFileContent -replace '^\s*VALUE "FileVersion",\s*"\d+\.\d+\.\d+\.\d+"', $rcValueFileVersionReplacement
+
+$rcFileContent | Set-Content $rcFilePath
+
+Write-Host "UPDATED Installer.rc"
+
+# -------------------------------
+# Update the Wrapper RC file
+# -------------------------------
+
+$rcFilePath = "_Updater_Wrapper\_Wrapper.rc"
+$rcFileContent = Get-Content $rcFilePath
+
+$rcProductVersionReplacement = ' PRODUCTVERSION ' + $rcVersion
+$rcFileVersionReplacement = ' FILEVERSION ' + $rcVersion
+
+$rcValueProductVersionReplacement = ' VALUE "ProductVersion", "' + $nsisVersion + '"'
+$rcValueFileVersionReplacement = ' VALUE "FileVersion", "' + $nsisVersion + '"'
+
+$rcFileContent = $rcFileContent -replace '^\s*PRODUCTVERSION\s+\d+,\d+,\d+,\d+', $rcProductVersionReplacement
+$rcFileContent = $rcFileContent -replace '^\s*FILEVERSION\s+\d+,\d+,\d+,\d+', $rcFileVersionReplacement
+$rcFileContent = $rcFileContent -replace '^\s*VALUE "ProductVersion",\s*"\d+\.\d+\.\d+\.\d+"', $rcValueProductVersionReplacement
+$rcFileContent = $rcFileContent -replace '^\s*VALUE "FileVersion",\s*"\d+\.\d+\.\d+\.\d+"', $rcValueFileVersionReplacement
+
+$rcFileContent | Set-Content $rcFilePath
+
+Write-Host "UPDATED Wrapper.rc"
+
+# -------------------------------
+# Update the TcNo-Acc-Switcher-Client.csproj file
+# -------------------------------
+
+$csprojFilePath = "TcNo-Acc-Switcher-Client\TcNo-Acc-Switcher-Client.csproj"
+$csprojFileContent = Get-Content $csprojFilePath
+$csprojVersionReplacement = '' + $nsisVersion + ''
+$csprojFileContent = $csprojFileContent -replace '.*', $csprojVersionReplacement
+$csprojVersionReplacement = '' + $nsisVersion + ''
+$csprojFileContent = $csprojFileContent -replace '.*', $csprojVersionReplacement
+
+$csprojFileContent | Set-Content $csprojFilePath
+
+Write-Host "UPDATED TcNo-Acc-Switcher-Client.csproj"
+
+# -------------------------------
+# Update the TcNo-Acc-Switcher-Server.csproj file
+# -------------------------------
+
+$csprojFilePath = "TcNo-Acc-Switcher-Server\TcNo-Acc-Switcher-Server.csproj"
+
+$csprojFileContent = Get-Content $csprojFilePath
+$csprojVersionReplacement = '' + $nsisVersion + ''
+$csprojFileContent = $csprojFileContent -replace '.*', $csprojVersionReplacement
+$csprojFileContent | Set-Content $csprojFilePath
+
+Write-Host "UPDATED TcNo-Acc-Switcher-Server.csproj"
+
+# -------------------------------
+# Update the Globals.cs file
+# -------------------------------
+
+$globalsFilePath = "TcNo-Acc-Switcher-Globals\Globals.cs"
+$globalsFileContent = Get-Content $globalsFilePath
+$globalsVersionReplacement = 'public static readonly string Version = "' + $dateVersion + '";'
+$globalsFileContent = $globalsFileContent -replace 'public static readonly string Version\s*=\s*".*";', $globalsVersionReplacement
+$globalsFileContent | Set-Content $globalsFilePath
+
+Write-Host "UPDATED Globals.cs"