moving
This commit is contained in:
@@ -1,69 +1,25 @@
|
||||
; ─── Waggle NSIS Installer Template ──────────────────────────────────────────
|
||||
; Waggle-specific extensions for Tauri's NSIS installer.
|
||||
;
|
||||
; Custom hooks for the Tauri NSIS installer:
|
||||
; 1. Welcome message with Waggle branding
|
||||
; 2. Desktop shortcut creation
|
||||
; 3. Start Menu entry
|
||||
; 4. "Launch Waggle" on finish
|
||||
; 5. Uninstaller with optional ~/.waggle/ data removal
|
||||
; Tauri owns install location, shortcuts, finish-page launch, silent /R launch,
|
||||
; registry entries, and uninstaller cleanup. Do not duplicate those here: doing
|
||||
; so double-launched normal installs and made silent repair nondeterministic.
|
||||
; Autostart is handled by tauri-plugin-autostart at runtime.
|
||||
; Personal data is always preserved by the package uninstaller. Tauri's base
|
||||
; uninstaller exposes a generic "Delete app data" checkbox, so PREUNINSTALL
|
||||
; explicitly neutralizes that state. Destructive erasure is available only
|
||||
; through Waggle's authenticated, phrase-gated UI.
|
||||
;
|
||||
; Tauri injects NSIS defines: PRODUCT_NAME, PRODUCT_VERSION, MAINBINARYNAME,
|
||||
; DEFAULT_INSTALL_DIR. Autostart is handled by tauri-plugin-autostart at
|
||||
; runtime, not by the installer.
|
||||
;
|
||||
; Reference: https://tauri.app/distribute/windows-installer/#nsis
|
||||
; ─────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
InstallDir "${DEFAULT_INSTALL_DIR}"
|
||||
; Reference: https://v2.tauri.app/distribute/windows-installer/#extending-the-installer
|
||||
|
||||
!macro NSIS_HOOK_PREINSTALL
|
||||
DetailPrint "Installing ${PRODUCT_NAME} v${PRODUCT_VERSION}..."
|
||||
DetailPrint "Your personal AI agent workspace — powered by Waggle."
|
||||
DetailPrint "Installing Waggle..."
|
||||
DetailPrint "Your personal AI agent workspace - powered by Waggle."
|
||||
!macroend
|
||||
|
||||
!macro NSIS_HOOK_POSTINSTALL
|
||||
; ── Desktop shortcut ──────────────────────────────────────────────────────
|
||||
CreateShortcut "$DESKTOP\${PRODUCT_NAME}.lnk" "$INSTDIR\${MAINBINARYNAME}.exe" \
|
||||
"" "$INSTDIR\${MAINBINARYNAME}.exe" 0
|
||||
DetailPrint "Desktop shortcut created."
|
||||
|
||||
; ── Start Menu entry ──────────────────────────────────────────────────────
|
||||
CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}"
|
||||
CreateShortcut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk" \
|
||||
"$INSTDIR\${MAINBINARYNAME}.exe" "" "$INSTDIR\${MAINBINARYNAME}.exe" 0
|
||||
CreateShortcut "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall ${PRODUCT_NAME}.lnk" \
|
||||
"$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
|
||||
DetailPrint "Start Menu entry created."
|
||||
|
||||
; ── Launch after install ──────────────────────────────────────────────────
|
||||
Exec '"$INSTDIR\${MAINBINARYNAME}.exe"'
|
||||
DetailPrint "Launching ${PRODUCT_NAME}..."
|
||||
!macroend
|
||||
|
||||
!macro NSIS_HOOK_POSTUNINSTALL
|
||||
; ── Remove desktop shortcut ─────────────────────────────────────────────
|
||||
Delete "$DESKTOP\${PRODUCT_NAME}.lnk"
|
||||
|
||||
; ── Remove Start Menu entries ───────────────────────────────────────────
|
||||
Delete "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk"
|
||||
Delete "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall ${PRODUCT_NAME}.lnk"
|
||||
RMDir "$SMPROGRAMS\${PRODUCT_NAME}"
|
||||
|
||||
; ── Ask about user data removal ─────────────────────────────────────────
|
||||
MessageBox MB_YESNO|MB_ICONQUESTION \
|
||||
"Waggle stores your data (agents, memories, configuration) in:$\r$\n$\r$\n\
|
||||
$PROFILE\.waggle$\r$\n$\r$\n\
|
||||
Do you want to remove this data as well?$\r$\n$\r$\n\
|
||||
Choose $\"Yes$\" to delete all data, or $\"No$\" to keep it for future use." \
|
||||
IDYES removeData IDNO skipData
|
||||
|
||||
removeData:
|
||||
RMDir /r "$PROFILE\.waggle"
|
||||
DetailPrint "User data removed: $PROFILE\.waggle"
|
||||
Goto doneData
|
||||
|
||||
skipData:
|
||||
DetailPrint "User data preserved: $PROFILE\.waggle"
|
||||
|
||||
doneData:
|
||||
!macro NSIS_HOOK_PREUNINSTALL
|
||||
StrCmp $DeleteAppDataCheckboxState "1" 0 +2
|
||||
MessageBox MB_OK|MB_ICONINFORMATION \
|
||||
"For safety, Waggle always preserves app data during uninstall. Data can only be erased from Settings > Data & Privacy while Waggle is installed."
|
||||
StrCpy $DeleteAppDataCheckboxState 0
|
||||
DetailPrint "Preserving Waggle app data."
|
||||
!macroend
|
||||
|
||||
Reference in New Issue
Block a user