Automatically uninstall previous version from Windows installer
The series number is used to detect previous installation. issue7007 review38221002
This commit is contained in:
+6
-6
@@ -8,10 +8,10 @@
|
||||
!endif
|
||||
!define CURLANG ${LANG_CATALAN}
|
||||
|
||||
LangString LicenseText ${CURLANG} "Tryton està alliberat sota la llicència «GNU General Public License» publicada per la Free Software Foundation, o bé la versió 3 de la llicència, o (sota la vostra elecció) qualsevol versió posterior. Llegiu detingudament la llicència. Premeu «Següent» per continuar."
|
||||
LangString LicenseNext ${CURLANG} "&Següent"
|
||||
LangString PreviousInstall ${CURLANG} "Desinstal·leu la versió anterior de Tryton"
|
||||
LangString LicenseText ${CURLANG} "Tryton està alliberat sota la llicència «GNU General Public License» publicada per la Free Software Foundation, o bé la versió 3 de la llicència, o (sota la vostra elecció) qualsevol versió posterior. Llegiu detingudament la llicència. Premeu «Següent» per continuar."
|
||||
LangString LicenseNext ${CURLANG} "&Següent"
|
||||
LangString PreviousInstall ${CURLANG} "Tryton ja està instal·lat.$\n$\nPremeu `OK` per eliminar la versió anterior o `Cancel·la` per cancel·lar l'actualització."
|
||||
LangString SecTrytonName ${CURLANG} "Tryton"
|
||||
LangString SecTrytonDesc ${CURLANG} "Instal·la tryton.exe i altres fitxers necessaris"
|
||||
LangString SecStartMenuName ${CURLANG} "Accessos directes al menú d'inici i a l'escriptori"
|
||||
LangString SecStartMenuDesc ${CURLANG} "Crea accessos directes al menú d'inici i a l'escriptori"
|
||||
LangString SecTrytonDesc ${CURLANG} "Instal·la tryton.exe i altres fitxers necessaris"
|
||||
LangString SecStartMenuName ${CURLANG} "Accessos directes al menú d'inici i a l'escriptori"
|
||||
LangString SecStartMenuDesc ${CURLANG} "Crea accessos directes al menú d'inici i a l'escriptori"
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@
|
||||
|
||||
LangString LicenseText ${CURLANG} "Tryton is released under the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Please carefully read the license. Click Next to continue."
|
||||
LangString LicenseNext ${CURLANG} "&Next"
|
||||
LangString PreviousInstall ${CURLANG} "Please uninstall the previous Tryton installation"
|
||||
LangString PreviousInstall ${CURLANG} "Tryton is already installed.$\n$\nClick `OK` to remove the previous version or `Cancel` to cancel this upgrade."
|
||||
LangString SecTrytonName ${CURLANG} "Tryton"
|
||||
LangString SecTrytonDesc ${CURLANG} "Install tryton.exe and other required files"
|
||||
LangString SecStartMenuName ${CURLANG} "Start Menu and Desktop Shortcuts"
|
||||
|
||||
+4
-4
@@ -8,10 +8,10 @@
|
||||
!endif
|
||||
!define CURLANG ${LANG_FRENCH}
|
||||
|
||||
LangString LicenseText ${CURLANG} "Tryton est publié sous la GNU General Public License comme publiée par la Free Software Foundation, soit la version 3 de la License, ou (à votre choix) toute version ultérieure. S'il vous plaît lisez attentivement la license. Cliquez sur Suivant pour continuer."
|
||||
LangString LicenseText ${CURLANG} "Tryton est publié sous la GNU General Public License comme publiée par la Free Software Foundation, soit la version 3 de la License, ou (à votre choix) toute version ultérieure. S'il vous plaît lisez attentivement la license. Cliquez sur Suivant pour continuer."
|
||||
LangString LicenseNext ${CURLANG} "&Suivant"
|
||||
LangString PreviousInstall ${CURLANG} "Veuillez désinstaller la précédente installation de Tryton"
|
||||
LangString PreviousInstall ${CURLANG} "Tryton est déjà installé.$\n$\nCliquez `OK` pour supprimer la précédente version ou `Annuler` pour annuler cette mis à jour."
|
||||
LangString SecTrytonName ${CURLANG} "Tryton"
|
||||
LangString SecTrytonDesc ${CURLANG} "Installe tryton.exe et d'autres fichiers requis"
|
||||
LangString SecStartMenuName ${CURLANG} "Raccourcis dans le menu Démarrer et sur le bureau"
|
||||
LangString SecStartMenuDesc ${CURLANG} "Créé les raccourcis dans le menu Démarrer et sur le bureau"
|
||||
LangString SecStartMenuName ${CURLANG} "Raccourcis dans le menu Démarrer et sur le bureau"
|
||||
LangString SecStartMenuDesc ${CURLANG} "Crée les raccourcis dans le menu Démarrer et sur le bureau"
|
||||
|
||||
+5
-5
@@ -8,10 +8,10 @@
|
||||
!endif
|
||||
!define CURLANG ${LANG_GERMAN}
|
||||
|
||||
LangString LicenseText ${CURLANG} "Tryton wird unter der GNU General Public License wie von der Free Software Foundation veröffentlicht freigegeben, entweder Version 3 der Lizenz oder (nach Ihrer Wahl) jeder späteren Version. Bitte lesen Sie die Lizenz aufmerksam. Klicken Sie auf Weiter, um fortzufahren."
|
||||
LangString LicenseText ${CURLANG} "Tryton wird unter der GNU General Public License wie von der Free Software Foundation veröffentlicht freigegeben, entweder Version 3 der Lizenz oder (nach Ihrer Wahl) jeder späteren Version. Bitte lesen Sie die Lizenz aufmerksam. Klicken Sie auf Weiter, um fortzufahren."
|
||||
LangString LicenseNext ${CURLANG} "&Weiter"
|
||||
LangString PreviousInstall ${CURLANG} "Bitte deinstallieren Sie die vorherige Installation des Tryton Clients"
|
||||
LangString PreviousInstall ${CURLANG} "Tryton ist bereits installiert.$\n$\nWählen Sie `OK`, um die bisherige Version zu entfernen oder `Abbrechen` um die Aktualisierung abzubrechen."
|
||||
LangString SecTrytonName ${CURLANG} "Tryton"
|
||||
LangString SecTrytonDesc ${CURLANG} "tryton.exe und andere benötigte Dateien installieren"
|
||||
LangString SecStartMenuName ${CURLANG} "Startmenü und Desktop-Verknüpfungen"
|
||||
LangString SecStartMenuDesc ${CURLANG} "Verknüpfungen im Startmenü und auf dem Desktop erstellen"
|
||||
LangString SecTrytonDesc ${CURLANG} "tryton.exe und andere benötigte Dateien installieren"
|
||||
LangString SecStartMenuName ${CURLANG} "Startmenü und Desktop-Verknüpfungen"
|
||||
LangString SecStartMenuDesc ${CURLANG} "Verknüpfungen im Startmenü und auf dem Desktop erstellen"
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
version=`python setup.py --version`
|
||||
series=${version%.*}
|
||||
python setup.py compile_catalog
|
||||
python setup-freeze.py install_exe -d dist
|
||||
makensis -DVERSION=${version} setup.nsi
|
||||
makensis -DVERSION=${version} -DSERIES=${series} setup.nsi
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@
|
||||
|
||||
LangString LicenseText ${CURLANG} "Tryton é licenciado sob a General Public License conforme publicada pela Free Software Foundation, conforme a versão 3 da licença, ou (segundo sua escolha) qualquer versão posterior. Favor ler a licença cuidadosamente. Clique em Seguinte para continuar."
|
||||
LangString LicenseNext ${CURLANG} "&Seguinte"
|
||||
LangString PreviousInstall ${CURLANG} "Favor remover a instalação anterior do Tryton"
|
||||
LangString PreviousInstall ${CURLANG} "O Tryton já está instalado.$\n$\nClique em 'OK' para remover a versão anterior ou 'Cancelar' para cancelar esta atualização."
|
||||
LangString SecTrytonName ${CURLANG} "Tryton"
|
||||
LangString SecTrytonDesc ${CURLANG} "Instala tryton.exe e outros arquivos necessários"
|
||||
LangString SecStartMenuName ${CURLANG} "Menu Iniciar e Atalhos da Área de Trabalho"
|
||||
|
||||
-17
@@ -1,17 +0,0 @@
|
||||
;This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
;this repository contains the full copyright notices and license terms.
|
||||
|
||||
!verbose 3
|
||||
|
||||
!ifdef CURLANG
|
||||
!undef CURLANG
|
||||
!endif
|
||||
!define CURLANG ${LANG_RUSSIAN}
|
||||
|
||||
LangString LicenseText ${CURLANG} "Tryton ðàñïðîñòðàíÿåòñÿ ïîä ëèöåíçèåé GNU General Public License, îïóáëèêîâàííîé Free Software Foundation, âåðñèè 3, ëèáî (ïî âàøåìó âûáîðó) ëþáîé áîëåå ïîçäíåé âåðñèè. Ïîæàëóéñòà, âíèìàòåëüíî ïðî÷èòàéòå ëèöåíçèþ. Íàæìèòå êíîïêó Äàëåå, ÷òîáû ïðîäîëæèòü."
|
||||
LangString LicenseNext ${CURLANG} "&Äàëåå"
|
||||
LangString PreviousInstall ${CURLANG} "Ïîæàëóéñòà óäàëèòå ïðåäûäóùóþ âåðñèþ Tryton"
|
||||
LangString SecTrytonName ${CURLANG} "Tryton"
|
||||
LangString SecTrytonDesc ${CURLANG} "Óñòàíîâèòü tryton.exe è íåîáõîäèìûå ôàéëû"
|
||||
LangString SecStartMenuName ${CURLANG} "ßðëûêè â ìåíþ Ïóñê è íà Ðàáî÷åì ñòîëå"
|
||||
LangString SecStartMenuDesc ${CURLANG} "Ñîçäàòü ÿðëûêè â ìåíþ Ïóñê è íà ðàáî÷åì ñòîëå"
|
||||
@@ -5,6 +5,10 @@
|
||||
!ifndef VERSION
|
||||
!error "Missing VERSION! Specify it with '/DVERSION=<VERSION>'"
|
||||
!endif
|
||||
;Check series
|
||||
!ifndef SERIES
|
||||
!error "Missing SERIES! Specify if with '/DSERIES=<SERIES>'"
|
||||
!endif
|
||||
|
||||
;Include Modern UI
|
||||
!include "MUI.nsh"
|
||||
@@ -14,14 +18,15 @@ Name "Tryton ${VERSION}"
|
||||
OutFile "tryton-${VERSION}.exe"
|
||||
SetCompressor lzma
|
||||
SetCompress auto
|
||||
Unicode true
|
||||
|
||||
;Default installation folder
|
||||
InstallDir "$PROGRAMFILES\tryton-${VERSION}"
|
||||
InstallDir "$PROGRAMFILES\Tryton-${SERIES}"
|
||||
|
||||
;Get installation folder from registry if available
|
||||
InstallDirRegKey HKCU "Software\tryton-${VERSION}" ""
|
||||
InstallDirRegKey HKCU "Software\Tryton-${SERIES}" ""
|
||||
|
||||
BrandingText "Tryton ${VERSION}"
|
||||
BrandingText "Tryton ${SERIES}"
|
||||
|
||||
;Vista redirects $SMPROGRAMS to all users without this
|
||||
RequestExecutionLevel admin
|
||||
@@ -69,8 +74,6 @@ Var STARTMENU_FOLDER
|
||||
!include "slovenian.nsh"
|
||||
!insertmacro MUI_LANGUAGE "Spanish"
|
||||
!include "spanish.nsh"
|
||||
!insertmacro MUI_LANGUAGE "Russian"
|
||||
!include "russian.nsh"
|
||||
|
||||
;Reserve Files
|
||||
|
||||
@@ -82,9 +85,20 @@ Var STARTMENU_FOLDER
|
||||
;Installer Sections
|
||||
Function .onInit
|
||||
ClearErrors
|
||||
ReadRegStr $0 HKCU "Software\tryton-${VERSION}" ""
|
||||
IfErrors DoInstall 0
|
||||
MessageBox MB_OK "$(PreviousInstall)"
|
||||
ReadRegStr $0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\tryton-${SERIES}" "UninstallString"
|
||||
StrCmp $0 "" DoInstall
|
||||
|
||||
MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION "$(PreviousInstall)" /SD IDOK IDOK Uninstall
|
||||
Quit
|
||||
|
||||
Uninstall:
|
||||
ReadRegStr $1 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\tryton-${SERIES}" "InstallLocation"
|
||||
ClearErrors
|
||||
StrCpy $2 "/S"
|
||||
IfSilent +2
|
||||
StrCpy $2 ""
|
||||
ExecWait '$0 $2 _?=$1'
|
||||
IfErrors 0 DoInstall
|
||||
Quit
|
||||
DoInstall:
|
||||
FunctionEnd
|
||||
@@ -112,12 +126,12 @@ SectionIn 1 2 RO
|
||||
WriteRegStr HKCR "tryton\shell\open\command" "" '$INSTDIR\tryton.exe "%1"'
|
||||
|
||||
;Write the installation path into the registry
|
||||
WriteRegStr HKCU "Software\tryton-${VERSION}" "" $INSTDIR
|
||||
WriteRegStr HKLM "Software\tryton-${VERSION}" "" $INSTDIR
|
||||
WriteRegStr HKLM "Software\Tryton-${SERIES}" "" $INSTDIR
|
||||
|
||||
;Write the uninstall keys for Windows
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\tryton-${VERSION}" "DisplayName" "Tryton ${VERSION} (remove only)"
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\tryton-${VERSION}" "UninstallString" "$INSTDIR\uninstall.exe"
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\tryton-${SERIES}" "DisplayName" "Tryton ${VERSION} (remove only)"
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\tryton-${SERIES}" "UninstallString" "$INSTDIR\uninstall.exe"
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\tryton-${SERIES}" "InstallLocation" "$INSTDIR"
|
||||
|
||||
;Create the uninstaller
|
||||
WriteUninstaller uninstall.exe
|
||||
@@ -131,8 +145,8 @@ SectionIn 1 2
|
||||
|
||||
CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER"
|
||||
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
|
||||
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Tryton-${VERSION}.lnk" "$INSTDIR\tryton.exe" "" "$INSTDIR\tryton.exe" 0
|
||||
CreateShortCut "$DESKTOP\Tryton-${VERSION}.lnk" "$INSTDIR\tryton.exe" "" "$INSTDIR\tryton.exe" 0
|
||||
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Tryton-${SERIES}.lnk" "$INSTDIR\tryton.exe" "" "$INSTDIR\tryton.exe" 0
|
||||
CreateShortCut "$DESKTOP\Tryton-${SERIES}.lnk" "$INSTDIR\tryton.exe" "" "$INSTDIR\tryton.exe" 0
|
||||
|
||||
!insertmacro MUI_STARTMENU_WRITE_END
|
||||
|
||||
@@ -149,18 +163,17 @@ Section "Uninstall"
|
||||
RMDIR /r "$INSTDIR"
|
||||
|
||||
;remove registry keys
|
||||
DeleteRegKey HKCU "Software\tryton-${VERSION}"
|
||||
DeleteRegKey HKLM "Software\tryton-${VERSION}"
|
||||
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\tryton-${VERSION}"
|
||||
DeleteRegKey HKLM "Software\Tryton-${SERIES}"
|
||||
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\tryton-${SERIES}"
|
||||
|
||||
SetShellVarContext all
|
||||
Delete "$DESKTOP\Tryton-${VERSION}.lnk"
|
||||
Delete "$DESKTOP\Tryton-${SERIES}.lnk"
|
||||
|
||||
!insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
|
||||
|
||||
StrCmp $MUI_TEMP "" noshortcuts
|
||||
Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk"
|
||||
Delete "$SMPROGRAMS\$MUI_TEMP\Tryton-${VERSION}.lnk"
|
||||
Delete "$SMPROGRAMS\$MUI_TEMP\Tryton-${SERIES}.lnk"
|
||||
RMDir "$SMPROGRAMS\$MUI_TEMP"
|
||||
noshortcuts:
|
||||
|
||||
|
||||
+4
-4
@@ -8,10 +8,10 @@
|
||||
!endif
|
||||
!define CURLANG ${LANG_SLOVENIAN}
|
||||
|
||||
LangString LicenseText ${CURLANG} "Tryton je izdan pod licenco GNU General Public License, kot jo je objavila Free Software Foundation, bodisi pod razlièico 3 ali (po va¹i izbiri) katerokoli poznej¹o razlièico. Licenco pozorno preberite. Kliknite Naprej za nadaljevanje."
|
||||
LangString LicenseText ${CURLANG} "Tryton je izdan pod licenco GNU General Public License, kot jo je objavila Free Software Foundation, bodisi pod razlièico 3 ali (po va¹i izbiri) katerokoli poznej¹o razlièico. Licenco pozorno preberite. Kliknite Naprej za nadaljevanje."
|
||||
LangString LicenseNext ${CURLANG} "&Naprej"
|
||||
LangString PreviousInstall ${CURLANG} "Prosimo, da odstranite prej¹njo namestitev Trytona"
|
||||
LangString PreviousInstall ${CURLANG} "Tryton je že nameščen.$\n$\nKliknite »V redu«, da odstranite prejšnjo različico ali »Prekliči«, da prekličete to nadgradnjo."
|
||||
LangString SecTrytonName ${CURLANG} "Tryton"
|
||||
LangString SecTrytonDesc ${CURLANG} "Namestitev tryton.exe in ostalih potrebnih datotek"
|
||||
LangString SecStartMenuName ${CURLANG} "Bli¾njici v zaèetnem meniju in na namizju"
|
||||
LangString SecStartMenuDesc ${CURLANG} "Ustvari bli¾njici v zaèetnem meniju in na namizju"
|
||||
LangString SecStartMenuName ${CURLANG} "Bli¾njici v zaèetnem meniju in na namizju"
|
||||
LangString SecStartMenuDesc ${CURLANG} "Ustvari bli¾njici v zaèetnem meniju in na namizju"
|
||||
|
||||
+4
-4
@@ -8,10 +8,10 @@
|
||||
!endif
|
||||
!define CURLANG ${LANG_SPANISH}
|
||||
|
||||
LangString LicenseText ${CURLANG} "Tryton está liberado bajo la licencia «GNU General Public License» publicada por la Free Software Foundation, o bien la versión 3 de la licencia, o (a su elección) cualquier versión posterior. Lea cuidadosamente la licencia. Pulse «Siguiente» para continuar."
|
||||
LangString LicenseText ${CURLANG} "Tryton está liberado bajo la licencia «GNU General Public License» publicada por la Free Software Foundation, o bien la versión 3 de la licencia, o (a su elección) cualquier versión posterior. Lea cuidadosamente la licencia. Pulse «Siguiente» para continuar."
|
||||
LangString LicenseNext ${CURLANG} "&Siguiente"
|
||||
LangString PreviousInstall ${CURLANG} "Desinstale la instalación anterior de Tryton"
|
||||
LangString PreviousInstall ${CURLANG} "Tryton ya está instalado.$\n$\nPulse `OK` para eliminar la versión anterior o `Cancelar` para cancelar la actualización."
|
||||
LangString SecTrytonName ${CURLANG} "Tryton"
|
||||
LangString SecTrytonDesc ${CURLANG} "Instalar tryton.exe y otros archivos necesarios"
|
||||
LangString SecStartMenuName ${CURLANG} "Accesos directos en el menú de inicio y en el escritorio"
|
||||
LangString SecStartMenuDesc ${CURLANG} "Crear accesos directos en el menú de inicio y en el escritorio"
|
||||
LangString SecStartMenuName ${CURLANG} "Accesos directos en el menú de inicio y en el escritorio"
|
||||
LangString SecStartMenuDesc ${CURLANG} "Crear accesos directos en el menú de inicio y en el escritorio"
|
||||
|
||||
Reference in New Issue
Block a user