From 9085d689e91822e912831728bcc23bc6fa43903f Mon Sep 17 00:00:00 2001 From: xxanqw Date: Wed, 26 Nov 2025 12:10:46 +0200 Subject: Add uninstall-specific functions and update Windows installer details --- .github/workflows/package-win.yml | 56 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 52 insertions(+), 4 deletions(-) (limited to '.github/workflows/package-win.yml') diff --git a/.github/workflows/package-win.yml b/.github/workflows/package-win.yml index 060b654..68e8dc3 100644 --- a/.github/workflows/package-win.yml +++ b/.github/workflows/package-win.yml @@ -165,9 +165,57 @@ jobs: Pop $R1 Exch $R0 FunctionEnd - + + ; --- Uninstall-Specific Functions --- + !macro un.StrRep ResultVar String SubString RepString + Push "${String}" + Push "${SubString}" + Push "${RepString}" + Call un.StrRep + Pop "${ResultVar}" + !macroend + + Function un.StrRep + Exch $R2 + Exch + Exch $R1 + Exch + Exch $R0 + Push $R3 + Push $R4 + Push $R5 + Push $R6 + Push $R7 + StrCpy $R3 0 + StrLen $R4 $R1 + StrLen $R6 $R0 + Start: + StrCpy $R5 $R0 $R4 $R3 + StrCmp $R5 $R1 Found + IntOp $R3 $R3 + 1 + IntCmp $R3 $R6 End End Start + Found: + StrCpy $R5 $R0 $R3 + IntOp $R7 $R3 + $R4 + StrCpy $R7 $R0 "" $R7 + StrCpy $R0 "$R5$R2$R7" + StrLen $R6 $R0 + IntOp $R3 $R3 + $R4 + Goto Start + End: + Pop $R7 + Pop $R6 + Pop $R5 + Pop $R4 + Pop $R3 + Pop $R2 + Pop $R1 + Exch $R0 + FunctionEnd + !define StrContains `!insertmacro StrContains` !define StrRep `!insertmacro StrRep` + !define un.StrRep `!insertmacro un.StrRep` ; --- Main Script --- Name "Mikusays" @@ -224,9 +272,9 @@ jobs: ; Remove from PATH (Simple String Replacement) ReadRegStr $0 HKCU "Environment" "Path" - ${StrRep} $0 "$0" ";$INSTDIR" "" - ${StrRep} $0 "$0" "$INSTDIR;" "" - ${StrRep} $0 "$0" "$INSTDIR" "" + ${un.StrRep} $0 "$0" ";$INSTDIR" "" + ${un.StrRep} $0 "$0" "$INSTDIR;" "" + ${un.StrRep} $0 "$0" "$INSTDIR" "" WriteRegExpandStr HKCU "Environment" "Path" "$0" SendMessage ${HWND_BROADCAST} ${WM_SETTINGCHANGE} 0 "STR:Environment" /TIMEOUT=5000 SectionEnd -- cgit v1.3-2-g0d8e