aboutsummaryrefslogtreecommitdiffhomepage
path: root/easytag-win32-installer.nsi
diff options
context:
space:
mode:
Diffstat (limited to 'easytag-win32-installer.nsi')
-rwxr-xr-xeasytag-win32-installer.nsi335
1 files changed, 335 insertions, 0 deletions
diff --git a/easytag-win32-installer.nsi b/easytag-win32-installer.nsi
new file mode 100755
index 0000000..ad295d3
--- /dev/null
+++ b/easytag-win32-installer.nsi
@@ -0,0 +1,335 @@
+;-------------------------------------------------------------
+; Script generated by the HM NIS Edit Script Wizard.
+;
+; Installer script for win32 EasyTAG (inspired of win32 Pidgin installer script
+; Original Author: Jerome COUDERC <easytag@gmail.com>
+;
+; Install "NSIS 2.33" :
+; http://nsis.sourceforge.net/Download
+; Install "HM NIS EDIT: A Free NSIS Editor/IDE"
+; http://prdownloads.sourceforge.net/hmne/nisedit2.0.3.exe?download
+;
+; Online documentation :
+; English : http://nsis.sourceforge.net/Docs/
+; http://nsis.sourceforge.net/Docs/Modern%20UI/Readme.html
+; http://forums.winamp.com/forumdisplay.php?s=&forumid=65
+; French : http://www.veekee.net/wikinsis/docs/
+;-------------------------------------------------------------
+
+; HM NIS Edit Wizard helper defines
+!define PRODUCT_NAME "EasyTAG"
+!define PRODUCT_VERSION "2.1.4"
+!define PRODUCT_PUBLISHER "Jérôme COUDERC"
+!define PRODUCT_WEB_SITE "http://easytag.sourceforge.net"
+!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\easytag.exe"
+!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
+!define PRODUCT_UNINST_ROOT_KEY "HKLM"
+!define PRODUCT_STARTMENU_REGVAL "NSIS:StartMenuDir"
+
+SetCompressor /SOLID lzma
+ShowInstDetails show
+ShowUninstDetails show
+
+; MUI 1.67 compatible ------
+!include "MUI.nsh"
+!include "Sections.nsh"
+;!include "WinVer.nsh" ; Version of Windows used...
+
+; MUI Settings
+!define MUI_ABORTWARNING
+!define MUI_COMPONENTSPAGE_SMALLDESC
+!define MUI_ICON ".\src\win32\nsis\easytag-install.ico"
+!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico" ;".\pixmaps\EasyTAG.ico"
+
+; Modern UI Configuration
+!define MUI_HEADERIMAGE
+!define MUI_HEADERIMAGE_BITMAP_NOSTRETCH
+!define MUI_HEADERIMAGE_BITMAP ".\src\win32\nsis\easytag-header.bmp"
+!define MUI_WELCOMEFINISHPAGE_BITMAP ".\src\win32\nsis\easytag-install.bmp"
+!define MUI_UNWELCOMEFINISHPAGE_BITMAP_NOSTRETCH
+!define MUI_UNWELCOMEFINISHPAGE_BITMAP ".\src\win32\nsis\easytag-uninstall.bmp"
+
+
+; Language Selection Dialog Settings
+!define MUI_LANGDLL_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}"
+!define MUI_LANGDLL_REGISTRY_KEY "${PRODUCT_UNINST_KEY}"
+!define MUI_LANGDLL_REGISTRY_VALUENAME "NSIS:Language"
+
+; Version resource
+VIProductVersion "0.0.0.0"
+VIAddVersionKey "ProductName" "${PRODUCT_NAME}"
+VIAddVersionKey "FileVersion" "${PRODUCT_VERSION}"
+VIAddVersionKey "ProductVersion" "${PRODUCT_VERSION}"
+VIAddVersionKey "LegalCopyright" ""
+VIAddVersionKey "FileDescription" "${PRODUCT_NAME} Installer"
+
+; Welcome page
+!insertmacro MUI_PAGE_WELCOME
+
+; License page
+!insertmacro MUI_PAGE_LICENSE "./COPYING"
+
+; Components page
+!insertmacro MUI_PAGE_COMPONENTS
+
+; Directory page
+!insertmacro MUI_PAGE_DIRECTORY
+
+; Start menu page
+var ICONS_GROUP
+!define MUI_STARTMENUPAGE_NODISABLE
+!define MUI_STARTMENUPAGE_DEFAULTFOLDER "${PRODUCT_NAME}"
+!define MUI_STARTMENUPAGE_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}"
+!define MUI_STARTMENUPAGE_REGISTRY_KEY "${PRODUCT_UNINST_KEY}"
+!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "${PRODUCT_STARTMENU_REGVAL}"
+!insertmacro MUI_PAGE_STARTMENU Application $ICONS_GROUP
+
+; Instfiles page
+!insertmacro MUI_PAGE_INSTFILES
+
+; Finish page
+!define MUI_FINISHPAGE_RUN "$INSTDIR\easytag.exe"
+!define MUI_FINISHPAGE_RUN_NOTCHECKED
+!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\README.txt"
+!define MUI_FINISHPAGE_LINK "${PRODUCT_NAME} Web site"
+!define MUI_FINISHPAGE_LINK_LOCATION "http://easytag.sourceforge.net"
+!insertmacro MUI_PAGE_FINISH
+
+; Uninstaller pages
+!insertmacro MUI_UNPAGE_WELCOME
+!insertmacro MUI_UNPAGE_CONFIRM
+!insertmacro MUI_UNPAGE_INSTFILES
+!insertmacro MUI_UNPAGE_FINISH
+
+; Language files
+!insertmacro MUI_LANGUAGE "Afrikaans"
+!insertmacro MUI_LANGUAGE "Albanian"
+!insertmacro MUI_LANGUAGE "Arabic"
+!insertmacro MUI_LANGUAGE "Basque"
+!insertmacro MUI_LANGUAGE "Belarusian"
+!insertmacro MUI_LANGUAGE "Bosnian"
+!insertmacro MUI_LANGUAGE "Breton"
+!insertmacro MUI_LANGUAGE "Bulgarian"
+!insertmacro MUI_LANGUAGE "Catalan"
+!insertmacro MUI_LANGUAGE "Croatian"
+!insertmacro MUI_LANGUAGE "Czech"
+!insertmacro MUI_LANGUAGE "Danish"
+!insertmacro MUI_LANGUAGE "Dutch"
+!insertmacro MUI_LANGUAGE "English"
+!insertmacro MUI_LANGUAGE "Estonian"
+!insertmacro MUI_LANGUAGE "Farsi"
+!insertmacro MUI_LANGUAGE "Finnish"
+!insertmacro MUI_LANGUAGE "French"
+!insertmacro MUI_LANGUAGE "Galician"
+!insertmacro MUI_LANGUAGE "German"
+!insertmacro MUI_LANGUAGE "Greek"
+!insertmacro MUI_LANGUAGE "Hebrew"
+!insertmacro MUI_LANGUAGE "Hungarian"
+!insertmacro MUI_LANGUAGE "Icelandic"
+!insertmacro MUI_LANGUAGE "Indonesian"
+!insertmacro MUI_LANGUAGE "Irish"
+!insertmacro MUI_LANGUAGE "Italian"
+!insertmacro MUI_LANGUAGE "Japanese"
+!insertmacro MUI_LANGUAGE "Korean"
+!insertmacro MUI_LANGUAGE "Kurdish"
+!insertmacro MUI_LANGUAGE "Latvian"
+!insertmacro MUI_LANGUAGE "Lithuanian"
+!insertmacro MUI_LANGUAGE "Luxembourgish"
+!insertmacro MUI_LANGUAGE "Macedonian"
+!insertmacro MUI_LANGUAGE "Malay"
+!insertmacro MUI_LANGUAGE "Mongolian"
+!insertmacro MUI_LANGUAGE "Norwegian"
+!insertmacro MUI_LANGUAGE "NorwegianNynorsk"
+!insertmacro MUI_LANGUAGE "Polish"
+!insertmacro MUI_LANGUAGE "Portuguese"
+!insertmacro MUI_LANGUAGE "PortugueseBR"
+!insertmacro MUI_LANGUAGE "Romanian"
+!insertmacro MUI_LANGUAGE "Russian"
+!insertmacro MUI_LANGUAGE "Serbian"
+!insertmacro MUI_LANGUAGE "SerbianLatin"
+!insertmacro MUI_LANGUAGE "SimpChinese"
+!insertmacro MUI_LANGUAGE "Slovak"
+!insertmacro MUI_LANGUAGE "Slovenian"
+!insertmacro MUI_LANGUAGE "Spanish"
+!insertmacro MUI_LANGUAGE "SpanishInternational"
+!insertmacro MUI_LANGUAGE "Swedish"
+!insertmacro MUI_LANGUAGE "Thai"
+!insertmacro MUI_LANGUAGE "TradChinese"
+!insertmacro MUI_LANGUAGE "Turkish"
+!insertmacro MUI_LANGUAGE "Ukrainian"
+!insertmacro MUI_LANGUAGE "Uzbek"
+!insertmacro MUI_LANGUAGE "Welsh"
+
+; MUI end ------
+
+Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
+OutFile "easytag-${PRODUCT_VERSION}-setup.exe"
+InstallDir "$PROGRAMFILES\EasyTAG"
+InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
+ShowInstDetails show
+ShowUnInstDetails show
+
+Function .onInit
+ !insertmacro MUI_LANGDLL_DISPLAY ; Open the language selection window
+FunctionEnd
+
+
+;------------------------------------
+; EasyTAG executable install Section
+;------------------------------------
+Section "Program" SecProgram
+ SectionIn 1 RO ; User can't remove it!
+
+ SetOutPath "$INSTDIR"
+ SetOverwrite on
+ File "win32-install-dir\easytag.exe"
+ File "win32-install-dir\easytag.dll"
+ File "win32-install-dir\*.dll"
+ File "win32-install-dir\*.txt"
+
+ ; Shortcuts
+ ;!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
+ ;CreateDirectory "$SMPROGRAMS\$ICONS_GROUP"
+ ;CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\EasyTAG ${PRODUCT_VERSION}.lnk" "$INSTDIR\easytag.exe"
+ ;!insertmacro MUI_STARTMENU_WRITE_END
+SectionEnd
+
+;------------------------------------
+; EasyTAG shortcut install Section
+;------------------------------------
+SectionGroup /e "Shortcuts" SecShortcuts
+ Section /o "Desktop" SecDesktopShortcut
+ SetOverwrite on
+ CreateShortCut "$DESKTOP\${PRODUCT_NAME} ${PRODUCT_VERSION}.lnk" "$INSTDIR\easytag.exe"
+ SetOverwrite off
+ SectionEnd
+
+ Section "Start Menu" SecStartMenuShortcut
+ SetOverwrite on
+ !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
+ CreateDirectory "$SMPROGRAMS\$ICONS_GROUP"
+ CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\${PRODUCT_NAME} ${PRODUCT_VERSION}.lnk" "$INSTDIR\easytag.exe"
+ !insertmacro MUI_STARTMENU_WRITE_END
+ SetOverwrite off
+ SectionEnd
+
+ Section "Context Menu" SecContextMenuShortcut
+ SetOverwrite on
+ WriteRegStr HKCR "Directory\shell\EasyTAG" "" "Browse with EasyTAG"
+ WriteRegStr HKCR "Directory\shell\EasyTAG\Command" "" "$INSTDIR\easytag.exe"
+ SetOverwrite off
+ SectionEnd
+SectionGroupEnd
+
+
+;------------------------------------
+; Documentation install Section
+;------------------------------------
+Section "Documentation" SecDocumentation
+ SetOutPath "$INSTDIR\documentation"
+ SetOverwrite on
+ File "doc\EasyTAG_Documentation*.html"
+ File /r "doc\users_guide_*"
+
+ ; Shortcuts
+ !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
+ CreateDirectory "$SMPROGRAMS\$ICONS_GROUP"
+ CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\EasyTAG Documentation.lnk" "$INSTDIR\documentation\EasyTAG_Documentation.html"
+ !insertmacro MUI_STARTMENU_WRITE_END
+SectionEnd
+
+;------------------------------------
+; Translation install Section
+;------------------------------------
+Section "Translations" SecTranslations
+ SetOutPath "$INSTDIR\locale"
+ SetOverwrite on
+ File /r "win32-install-dir\locale\"
+
+ ; Shortcuts
+ !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
+ CreateDirectory "$SMPROGRAMS\$ICONS_GROUP"
+ !insertmacro MUI_STARTMENU_WRITE_END
+SectionEnd
+
+Section -AdditionalIcons
+ !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
+ WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}"
+ CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url"
+ CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Uninstall ${PRODUCT_NAME}.lnk" "$INSTDIR\uninst.exe"
+ !insertmacro MUI_STARTMENU_WRITE_END
+SectionEnd
+
+Section -Post
+ WriteUninstaller "$INSTDIR\uninst.exe"
+ WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\easytag.exe"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\easytag.exe"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
+SectionEnd
+
+; Section descriptions
+!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecProgram} "Main files"
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecDocumentation} "Some documentation how to use the program"
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecTranslations} "Translation catalogs"
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecShortcuts} "Shortcuts to create"
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecDesktopShortcut} "Create a shortcut to the program on the desktop"
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecStartMenuShortcut} "Create a shortcuts in the start menu"
+!insertmacro MUI_FUNCTION_DESCRIPTION_END
+
+
+;------------------------------------
+; Uninstall Section
+;------------------------------------
+Section Uninstall
+ !insertmacro MUI_STARTMENU_GETFOLDER "Application" $ICONS_GROUP
+ Delete "$INSTDIR\${PRODUCT_NAME}.url"
+ Delete "$INSTDIR\uninst.exe"
+ Delete "$INSTDIR\easytag.dll"
+ Delete "$INSTDIR\easytag.exe"
+ Delete "$INSTDIR\*.dll"
+ Delete "$INSTDIR\*.txt"
+ RMDir /r "$INSTDIR\Documentation\" ; Remove all files in documentation directory...
+ RMDir /r "$INSTDIR\locale\"
+
+ Delete "$SMPROGRAMS\$ICONS_GROUP\Uninstall ${PRODUCT_NAME}.lnk"
+ Delete "$SMPROGRAMS\$ICONS_GROUP\Website.lnk"
+ Delete "$SMPROGRAMS\$ICONS_GROUP\EasyTAG ${PRODUCT_VERSION}.lnk"
+ Delete "$SMPROGRAMS\$ICONS_GROUP\EasyTAG Documentation.lnk"
+
+ Delete "$DESKTOP\EasyTAG ${PRODUCT_VERSION}.lnk"
+
+ RMDir "$SMPROGRAMS\$ICONS_GROUP"
+ RMDir "$INSTDIR"
+
+ DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
+ DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
+
+ ; Delete personnals settings?
+ MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 \
+ "Do you want to remove yours personnals settings?" IDYES deletesettings IDNO dontdeletesettings
+ deletesettings:
+ ; Get 'Application Data' user's directory
+ ReadRegStr $R0 HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" "AppData"
+ RMDir /r "$R0\.easytag"
+ dontdeletesettings:
+
+ SetAutoClose true
+SectionEnd
+
+
+;Function un.onUninstSuccess
+; HideWindow
+; MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer."
+;FunctionEnd
+
+Function un.onInit
+!insertmacro MUI_UNGETLANGUAGE
+ MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" IDYES +2
+ Abort
+FunctionEnd
+