Add NSIS Script for portable windows installer

This commit is contained in:
Philipp Hörist 2017-01-08 19:48:06 +01:00
parent f8a314b5f2
commit f433c09920
2 changed files with 261 additions and 0 deletions

View File

@ -44,10 +44,12 @@ install:
# Make Installer
- ps: '& "C:\Program Files (x86)\NSIS\makensis.exe" gajim.nsi'
- ps: '& "C:\Program Files (x86)\NSIS\makensis.exe" gajim-portable.nsi'
# Push Installer Exe
- ps: $env:TIME_STRING=(get-date -UFormat "%Y-%m-%d").ToString()
- ps: Push-AppveyorArtifact Gajim.exe -FileName "Gajim-default-$($env:TIME_STRING).exe"
- ps: Push-AppveyorArtifact Gajim-Portable.exe -FileName "Gajim-portable-default-$($env:TIME_STRING).exe"
build: off

259
gajim-portable.nsi Normal file
View File

@ -0,0 +1,259 @@
!include "MUI2.nsh"
Name "Gajim"
OutFile "Gajim-Portable.exe"
SetCompressor /final /solid lzma
!define myAppName "Gajim"
InstallDir "$PROFILE\Gajim"
RequestExecutionLevel user
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\orange-install.ico"
!define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_BITMAP "data\pixmaps\nsis_header.bmp"
!define MUI_WELCOMEFINISHPAGE_BITMAP "data\pixmaps\nsis_wizard.bmp"
!define MUI_UNWELCOMEFINISHPAGE_BITMAP "data\pixmaps\nsis_wizard.bmp"
!define MUI_COMPONENTSPAGE_SMALLDESC
!define MUI_ABORTWARNING
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE "COPYING"
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_WELCOME
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_UNPAGE_FINISH
;Show all languages, despite user's codepage
!define MUI_LANGDLL_ALLLANGUAGES
!insertmacro MUI_LANGUAGE "English"
!insertmacro MUI_LANGUAGE "French"
!insertmacro MUI_LANGUAGE "German"
!insertmacro MUI_LANGUAGE "Italian"
!insertmacro MUI_LANGUAGE "Russian"
!insertmacro MUI_LANGUAGE "Hebrew"
!insertmacro MUI_RESERVEFILE_LANGDLL
; English
LangString NAME_Emoticons ${LANG_ENGLISH} "Emoticons"
LangString NAME_Iconsets ${LANG_ENGLISH} "Iconsets"
LangString NAME_Languages ${LANG_ENGLISH} "Languages"
LangString NAME_SecLanguagesOther ${LANG_ENGLISH} "Other"
LangString NAME_Themes ${LANG_ENGLISH} "Themes"
LangString DESC_SecGajim ${LANG_ENGLISH} "Installs the main Gajim files."
; French
LangString NAME_Emoticons ${LANG_FRENCH} "Emoticônes"
LangString NAME_Iconsets ${LANG_FRENCH} "Bibliothèque d'icônes"
LangString NAME_Languages ${LANG_FRENCH} "Langues"
LangString NAME_SecLanguagesOther ${LANG_FRENCH} "Autre"
LangString NAME_Themes ${LANG_FRENCH} "Thèmes"
LangString DESC_SecGajim ${LANG_FRENCH} "Installer les fichiers principaux de Gajim."
; German
LangString NAME_Emoticons ${LANG_GERMAN} "Emoticons"
LangString NAME_Iconsets ${LANG_GERMAN} "Symbolsets"
LangString NAME_Languages ${LANG_GERMAN} "Sprachen"
LangString NAME_SecLanguagesOther ${LANG_GERMAN} "Sonstige"
LangString NAME_Themes ${LANG_GERMAN} "Designs"
LangString DESC_SecGajim ${LANG_GERMAN} "Installiert die Hauptdateien von Gajim."
; Italian
LangString NAME_Emoticons ${LANG_ITALIAN} "Emoticons"
LangString NAME_Iconsets ${LANG_ITALIAN} "Set di icone"
LangString NAME_Languages ${LANG_ITALIAN} "Lingue"
LangString NAME_SecLanguagesOther ${LANG_ITALIAN} "Altre"
LangString NAME_Themes ${LANG_ITALIAN} "Temi"
LangString DESC_SecGajim ${LANG_ITALIAN} "Installa i file principali di Gajim."
; Russian
LangString NAME_Emoticons ${LANG_RUSSIAN} "Ñìàéëèêè"
LangString NAME_Iconsets ${LANG_RUSSIAN} "Òåìû èêîíîê"
LangString NAME_Languages ${LANG_RUSSIAN} "ßçûêè"
LangString NAME_SecLanguagesOther ${LANG_RUSSIAN} "Äðóãîå"
LangString NAME_Themes ${LANG_RUSSIAN} "Òåìû"
LangString DESC_SecGajim ${LANG_RUSSIAN} "Óñòàíîâêà îñíîâíûõ ôàéëîâ Gajim."
; Hebrew
LangString NAME_Emoticons ${LANG_HEBREW} "øâùåðéí"
LangString NAME_Iconsets ${LANG_HEBREW} "îòøëé öìîéú"
LangString NAME_Languages ${LANG_HEBREW} "ùôåú"
LangString NAME_SecLanguagesOther ${LANG_HEBREW} "àçøåú"
LangString NAME_Themes ${LANG_HEBREW} "òøëàåú ðåùà"
LangString DESC_SecGajim ${LANG_HEBREW} "îú÷éï ÷áöé Gajim òé÷øééí."
Section "Gajim" SecGajim
SectionIn RO
SetOutPath "$INSTDIR"
File "AUTHORS"
File "COPYING"
File "THANKS"
File "THANKS.artists"
File /r "build"
SetOutPath "$INSTDIR\data"
File /r "data\gui"
File /r "data\moods"
File /r "data\activities"
File /r "data\other"
File /r "data\pixmaps"
File /r "data\sounds"
SetOutPath "$INSTDIR\icons"
File /r "icons\hicolor"
SetOutPath "$INSTDIR\build"
CreateShortCut "$INSTDIR\Gajim-Portable.lnk" "$INSTDIR\build\Gajim.exe" \
"-c ..\UserData" "" "" SW_SHOWNORMAL "" "Gajim Portable"
SectionEnd
Section "Plugins" SecPlugins
SetOutPath "$INSTDIR\plugins"
File /r "plugins\plugin_installer"
SectionEnd
SectionGroup $(NAME_Emoticons)
Section "animated" SecEmoticonsAnimated
SetOutPath "$INSTDIR\data\emoticons"
File /r "data\emoticons\animated"
SectionEnd
Section "static" SecEmoticonsStatic
SectionIn RO
SetOutPath "$INSTDIR\data\emoticons"
File /r "data\emoticons\static"
SectioNEnd
Section "static-big" SecEmoticonsStaticBig
SetOutPath "$INSTDIR\data\emoticons"
File /r "data\emoticons\static-big"
SectionEnd
SectionGroupEnd
SectionGroup $(NAME_Iconsets)
Section "dcraven" SecIconsetsDcraven
SectionIn RO
SetOutPath "$INSTDIR\data\iconsets"
File /r "data\iconsets\dcraven"
SectionEnd
Section "gnome" SecIconsetsGnome
SetOutPath "$INSTDIR\data\iconsets"
File /r "data\iconsets\gnome"
SectionEnd
Section "goojim" SecIconsetsGoojim
SetOutPath "$INSTDIR\data\iconsets"
File /r "data\iconsets\goojim"
SectionEnd
Section "gota" SecIconsetsGota
SetOutPath "$INSTDIR\data\iconsets"
File /r "data\iconsets\gota"
SectionEnd
Section "jabberbulb" SecIconsetsJabberbulb
SetOutPath "$INSTDIR\data\iconsets"
File /r "data\iconsets\jabberbulb"
SectionEnd
Section "sun" SecIconsetsSun
SetOutPath "$INSTDIR\data\iconsets"
File /r "data\iconsets\sun"
SectionEnd
Section "wroop" SecIconsetsWroop
SetOutPath "$INSTDIR\data\iconsets"
File /r "data\iconsets\wroop"
SectionEnd
Section "transports" SecIconsetsTransports
SetOutPath "$INSTDIR\data\iconsets"
File /r "data\iconsets\transports"
SectionIn Ro
SectionEnd
SectionGroupEnd
SectionGroup $(NAME_Languages)
Section "English (UK)" SecLanguagesEnglishUK
SetOutPath "$INSTDIR\po"
File /r "po\en_GB"
SectionEnd
Section "French" SecLanguagesFrench
SetOutPath "$INSTDIR\po"
File /r "po\fr"
SectionEnd
Section "German" SecLanguagesGerman
SetOutPath "$INSTDIR\po"
File /r "po\de"
SectionEnd
Section "Italian" SecLanguagesItalian
SetOutPath "$INSTDIR\po"
File /r "po\it"
SectionEnd
Section "Spanish" SecLanguagesSpanish
SetOutPath "$INSTDIR\po"
File /r "po\es"
SectionEnd
Section "Russian" SecLanguagesRussian
SetOutPath "$INSTDIR\po"
File /r "po\ru"
SectionEnd
Section $(NAME_SecLanguagesOther) SecLanguagesOther
SetOutPath "$INSTDIR\po"
File /r "po\be"
File /r "po\be@latin"
File /r "po\bg"
File /r "po\br"
File /r "po\cs"
File /r "po\da"
File /r "po\el"
File /r "po\eo"
File /r "po\eu"
File /r "po\gl"
File /r "po\he"
File /r "po\hr"
File /r "po\lt"
File /r "po\nb"
File /r "po\nl"
File /r "po\no"
File /r "po\pl"
File /r "po\pt"
File /r "po\pt_BR"
File /r "po\sk"
File /r "po\sr"
File /r "po\sr@Latn"
File /r "po\sv"
File /r "po\uk"
File /r "po\zh_CN"
SectionEnd
SectionGroupEnd
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${SecGajim} $(DESC_SecGajim)
!insertmacro MUI_FUNCTION_DESCRIPTION_END