From 51482c497f483f6018d17d6510504ef122e17c33 Mon Sep 17 00:00:00 2001 From: Christoph Brandau Date: Wed, 8 Jul 2026 21:54:24 +0200 Subject: [PATCH] feat(installer): enhance installation process with registry and shortcuts This update improves the installation process by adding macros for registering the application in the Windows registry and creating shortcuts on the desktop and start menu. These changes ensure a better user experience by providing easy access to the application and proper installation records. - Register application details in the Windows registry - Create shortcuts for quick access on the desktop and start menu - Clean up legacy shortcuts during installation --- src-tauri/nsis-hooks.nsh | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/src-tauri/nsis-hooks.nsh b/src-tauri/nsis-hooks.nsh index a26c398..fad4671 100644 --- a/src-tauri/nsis-hooks.nsh +++ b/src-tauri/nsis-hooks.nsh @@ -1,7 +1,6 @@ !macro GITTY_MIGRATE_LEGACY_DATA_DIR oldDir newDir ${IfNot} ${FileExists} "${newDir}\*.*" ${AndIf} ${FileExists} "${oldDir}\*.*" - CreateDirectory "${newDir}" Rename "${oldDir}" "${newDir}" ${EndIf} !macroend @@ -34,6 +33,26 @@ RMDir /r "$SMPROGRAMS\GitLite" !macroend +!macro GITTY_REGISTER_INSTALL + WriteRegStr HKCU "${MANUPRODUCTKEY}" "" "$INSTDIR" + WriteRegStr HKCU "${UNINSTKEY}" "MainBinaryName" "${MAINBINARYNAME}.exe" + WriteRegStr HKCU "${UNINSTKEY}" "DisplayName" "${PRODUCTNAME}" + WriteRegStr HKCU "${UNINSTKEY}" "DisplayIcon" "$\"$INSTDIR\${MAINBINARYNAME}.exe$\"" + WriteRegStr HKCU "${UNINSTKEY}" "DisplayVersion" "${VERSION}" + WriteRegStr HKCU "${UNINSTKEY}" "Publisher" "${MANUFACTURER}" + WriteRegStr HKCU "${UNINSTKEY}" "InstallLocation" "$\"$INSTDIR$\"" + WriteRegStr HKCU "${UNINSTKEY}" "UninstallString" "$\"$INSTDIR\uninstall.exe$\"" + WriteRegDWORD HKCU "${UNINSTKEY}" "NoModify" "1" + WriteRegDWORD HKCU "${UNINSTKEY}" "NoRepair" "1" +!macroend + +!macro GITTY_CREATE_UPDATE_SHORTCUTS + CreateShortcut "$SMPROGRAMS\${PRODUCTNAME}.lnk" "$INSTDIR\${MAINBINARYNAME}.exe" + !insertmacro SetLnkAppUserModelId "$SMPROGRAMS\${PRODUCTNAME}.lnk" + CreateShortcut "$DESKTOP\${PRODUCTNAME}.lnk" "$INSTDIR\${MAINBINARYNAME}.exe" + !insertmacro SetLnkAppUserModelId "$DESKTOP\${PRODUCTNAME}.lnk" +!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" @@ -43,6 +62,8 @@ !macro NSIS_HOOK_POSTINSTALL !insertmacro GITTY_CLEANUP_LEGACY_SHORTCUTS + !insertmacro GITTY_REGISTER_INSTALL + !insertmacro GITTY_CREATE_UPDATE_SHORTCUTS !macroend !macro NSIS_HOOK_POSTUNINSTALL