Files
GitLite/src-tauri/nsis-hooks.nsh
T
Christoph Brandau e0a77607f5
publish / publish-tauri (appimage, 1, ubuntu-22.04, linux-x86_64) (release) Successful in 19m47s
publish / publish-tauri (nsis, , windows-latest, windows-x86_64) (release) Successful in 27m57s
feat(tauri): migrate from GitLite to Gitty and clean up legacy data
This commit updates the installer and configuration to transition from
GitLite to Gitty. It includes macros for migrating legacy data and
uninstalling the previous GitLite installation, ensuring a smoother
upgrade experience for users.

- Added migration and uninstallation macros for legacy GitLite data
- Updated application identifier from com.git-lite to com.gitty
- Enhanced post-installation cleanup for legacy shortcuts
2026-07-08 20:48:22 +02:00

51 lines
1.6 KiB
NSIS

!macro GITTY_MIGRATE_LEGACY_DATA_DIR oldDir newDir
${IfNot} ${FileExists} "${newDir}\*.*"
${AndIf} ${FileExists} "${oldDir}\*.*"
CreateDirectory "${newDir}"
Rename "${oldDir}" "${newDir}"
${EndIf}
!macroend
!macro GITTY_UNINSTALL_LEGACY_GITLITE rootKey
ClearErrors
ReadRegStr $R0 ${rootKey} "Software\Microsoft\Windows\CurrentVersion\Uninstall\GitLite" "UninstallString"
${If} "$R0" != ""
ReadRegStr $R1 ${rootKey} "Software\git-lite\GitLite" ""
${If} "$R1" == ""
ReadRegStr $R1 ${rootKey} "Software\Microsoft\Windows\CurrentVersion\Uninstall\GitLite" "InstallLocation"
${EndIf}
DetailPrint "Removing legacy GitLite installation"
${If} "$R1" != ""
ExecWait '$R0 /S _?=$R1' $R2
${Else}
ExecWait '$R0 /S' $R2
${EndIf}
${EndIf}
DeleteRegKey ${rootKey} "Software\Microsoft\Windows\CurrentVersion\Uninstall\GitLite"
DeleteRegKey ${rootKey} "Software\git-lite\GitLite"
DeleteRegKey /ifempty ${rootKey} "Software\git-lite"
!macroend
!macro GITTY_CLEANUP_LEGACY_SHORTCUTS
Delete "$DESKTOP\GitLite.lnk"
Delete "$SMPROGRAMS\GitLite.lnk"
RMDir /r "$SMPROGRAMS\GitLite"
!macroend
!macro NSIS_HOOK_PREINSTALL
!insertmacro GITTY_MIGRATE_LEGACY_DATA_DIR "$APPDATA\com.git-lite" "$APPDATA\com.gitty"
!insertmacro GITTY_MIGRATE_LEGACY_DATA_DIR "$LOCALAPPDATA\com.git-lite" "$LOCALAPPDATA\com.gitty"
!insertmacro GITTY_UNINSTALL_LEGACY_GITLITE HKCU
!insertmacro GITTY_UNINSTALL_LEGACY_GITLITE HKLM
!macroend
!macro NSIS_HOOK_POSTINSTALL
!insertmacro GITTY_CLEANUP_LEGACY_SHORTCUTS
!macroend
!macro NSIS_HOOK_POSTUNINSTALL
!insertmacro GITTY_CLEANUP_LEGACY_SHORTCUTS
!macroend