Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/owncloud/client.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/modules/NSIS.template.in')
-rw-r--r--cmake/modules/NSIS.template.in871
1 files changed, 0 insertions, 871 deletions
diff --git a/cmake/modules/NSIS.template.in b/cmake/modules/NSIS.template.in
deleted file mode 100644
index 3840b6f05..000000000
--- a/cmake/modules/NSIS.template.in
+++ /dev/null
@@ -1,871 +0,0 @@
-;ownCloud installer script.
-
-!define APPLICATION_SHORTNAME "@APPLICATION_EXECUTABLE@"
-!define APPLICATION_NAME "@APPLICATION_NAME@"
-!define APPLICATION_VENDOR "@APPLICATION_VENDOR@"
-!define APPLICATION_EXECUTABLE "@APPLICATION_EXECUTABLE@.exe"
-!define APPLICATION_CMD_EXECUTABLE "@APPLICATION_EXECUTABLE@cmd.exe"
-!define APPLICATION_DOMAIN "@APPLICATION_DOMAIN@"
-!define APPLICATION_LICENSE "@APPLICATION_LICENSE@"
-!define APPLICATION_VIRTUALFILE_SUFFIX "@APPLICATION_VIRTUALFILE_SUFFIX@"
-!define APPLICATION_VIRTUALFILE_FILECLASS "@APPLICATION_EXECUTABLE@.@APPLICATION_VIRTUALFILE_SUFFIX@"
-!define WIN_SETUP_BITMAP_PATH "@WIN_SETUP_BITMAP_PATH@"
-
-!define CRASHREPORTER_EXECUTABLE "@CRASHREPORTER_EXECUTABLE@"
-
-;-----------------------------------------------------------------------------
-; Some installer script options (comment-out options not required)
-;-----------------------------------------------------------------------------
-!if "@APPLICATION_LICENSE@" != ""
- !define OPTION_LICENSE_AGREEMENT
-!endif
-!define OPTION_UAC_PLUGIN_ENHANCED
-!define OPTION_SECTION_SC_SHELL_EXT
-!define OPTION_SECTION_SC_START_MENU
-!define OPTION_SECTION_SC_DESKTOP
-!define OPTION_SECTION_SC_QUICK_LAUNCH
-!define OPTION_FINISHPAGE
-!define OPTION_FINISHPAGE_LAUNCHER
-; !define OPTION_FINISHPAGE_RELEASE_NOTES
-
-;-----------------------------------------------------------------------------
-; Some paths.
-;-----------------------------------------------------------------------------
-!ifndef MING_PATH
- !define MING_PATH "/usr/i686-w64-mingw32/sys-root/mingw"
-!endif
-!define MING_BIN "${MING_PATH}/bin"
-!define MING_LIB "${MING_PATH}/lib"
-!define MING_SHARE "${MING_PATH}/share"
-!define BUILD_PATH "@CMAKE_BINARY_DIR@"
-!define SOURCE_PATH "@CMAKE_SOURCE_DIR@"
-!define QT_DLL_PATH "${MING_BIN}"
-!define ACCESSIBLE_DLL_PATH "${MING_LIB}/qt5/plugins/accessible"
-!define IMAGEFORMATS_DLL_PATH "${MING_LIB}/qt5/plugins/imageformats"
-!define PLATFORMS_DLL_PATH "${MING_LIB}/qt5/plugins/platforms"
-
-!define CSYNC_LIBRARY_DIR "@CSYNC_LIBRARY_DIR@"
-!define CSYNC_CONFIG_DIR "@CSYNC_CONFIG_DIR@"
-
-!define NSI_PATH "${source_path}/admin/win/nsi"
-
-;-----------------------------------------------------------------------------
-; Installer version
-;-----------------------------------------------------------------------------
-
-!define VER_MAJOR "@CPACK_PACKAGE_VERSION_MAJOR@"
-!define VER_MINOR "@CPACK_PACKAGE_VERSION_MINOR@"
-!define VER_PATCH "@CPACK_PACKAGE_VERSION_PATCH@"
-!define VER_BUILD "@CPACK_PACKAGE_VERSION_BUILD@"
-!define VERSION "@CPACK_PACKAGE_VERSION@"
-
-Var InstallRunIfSilent
-Var NoAutomaticUpdates
-
-;-----------------------------------------------------------------------------
-; Installer build timestamp.
-;-----------------------------------------------------------------------------
-!define /date BUILD_TIME "built on %Y/%m/%d at %I:%M %p"
-
-;-----------------------------------------------------------------------------
-; Initial installer setup and definitions.
-;-----------------------------------------------------------------------------
-Name "@CPACK_NSIS_PACKAGE_NAME@"
-BrandingText "${APPLICATION_NAME} ${VERSION} -- ${BUILD_TIME}"
-OutFile "@CPACK_TOPLEVEL_DIRECTORY@/@CPACK_OUTPUT_FILE_NAME@"
-InstallDir "$PROGRAMFILES\@CPACK_PACKAGE_INSTALL_DIRECTORY@"
-InstallDirRegKey HKCU "Software\${APPLICATION_VENDOR}\${APPLICATION_NAME}" ""
-InstType Standard
-InstType Full
-InstType Minimal
-CRCCheck On
-SetCompressor @CPACK_NSIS_COMPRESSOR@
-RequestExecutionLevel user ;Now using the UAC plugin.
-ReserveFile NSIS.InstallOptions.ini
-ReserveFile "${NSISDIR}\Plugins\InstallOptions.dll"
-
-@CPACK_NSIS_SECTION_SELECTED_VARS@
-
-;-----------------------------------------------------------------------------
-; Include some required header files.
-;-----------------------------------------------------------------------------
-!include LogicLib.nsh ;Used by APPDATA uninstaller.
-!include MUI2.nsh ;Used by APPDATA uninstaller.
-!include InstallOptions.nsh ;Required by MUI2 to support old MUI_INSTALLOPTIONS.
-!include Memento.nsh ;Remember user selections.
-!include WinVer.nsh ;Windows version detection.
-!include WordFunc.nsh ;Used by VersionCompare macro function.
-!include FileFunc.nsh ;Used to read out parameters
-!include UAC.nsh ;Used by the UAC elevation to install as user or admin.
-!include nsProcess.nsh ;Used to kill the running process
-!include Library.nsh ;Used by the COM registration for shell extensions
-!include x64.nsh ;Used to determine the right arch for the shell extensions
-
-!include ${source_path}/admin/win/nsi/lib/fileassoc.nsh
-
-;-----------------------------------------------------------------------------
-; Memento selections stored in registry.
-;-----------------------------------------------------------------------------
-!define MEMENTO_REGISTRY_ROOT HKLM
-!define MEMENTO_REGISTRY_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPLICATION_NAME}"
-
-;-----------------------------------------------------------------------------
-; Modern User Interface (MUI) definitions and setup.
-;-----------------------------------------------------------------------------
-!define MUI_ABORTWARNING
-!define MUI_ICON ${NSI_PATH}\installer.ico
-!define MUI_UNICON ${NSI_PATH}\installer.ico
-!define MUI_WELCOMEFINISHPAGE_BITMAP ${WIN_SETUP_BITMAP_PATH}/welcome.bmp
-!define MUI_HEADERIMAGE
-!define MUI_HEADERIMAGE_BITMAP ${WIN_SETUP_BITMAP_PATH}/page_header.bmp
-!define MUI_COMPONENTSPAGE_SMALLDESC
-; We removed this, h1 issue 191687
-;!define MUI_FINISHPAGE_LINK "${APPLICATION_DOMAIN}"
-;!define MUI_FINISHPAGE_LINK_LOCATION "http://${APPLICATION_DOMAIN}"
-!define MUI_FINISHPAGE_NOREBOOTSUPPORT
-!ifdef OPTION_FINISHPAGE_RELEASE_NOTES
- !define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
- !define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\NOTES.txt"
- !define MUI_FINISHPAGE_SHOWREADME_TEXT $MUI_FINISHPAGE_SHOWREADME_TEXT_STRING
-!endif
-!ifdef OPTION_FINISHPAGE_LAUNCHER
- !define MUI_FINISHPAGE_NOAUTOCLOSE
- !define MUI_FINISHPAGE_RUN
- !define MUI_FINISHPAGE_RUN_FUNCTION "LaunchApplication"
-!endif
-
-;-----------------------------------------------------------------------------
-; Page macros.
-;-----------------------------------------------------------------------------
-!insertmacro MUI_PAGE_WELCOME
-!ifdef OPTION_LICENSE_AGREEMENT
- !insertmacro MUI_PAGE_LICENSE "${APPLICATION_LICENSE}"
-!endif
-Page custom PageReinstall PageLeaveReinstall
-!insertmacro MUI_PAGE_COMPONENTS
-!insertmacro MUI_PAGE_DIRECTORY
-!insertmacro MUI_PAGE_INSTFILES
-!ifdef OPTION_FINISHPAGE
- !insertmacro MUI_PAGE_FINISH
-!endif
-!insertmacro MUI_UNPAGE_CONFIRM
-!insertmacro MUI_UNPAGE_INSTFILES
-
-;-----------------------------------------------------------------------------
-; Other MUI macros.
-;-----------------------------------------------------------------------------
-!insertmacro MUI_LANGUAGE "English"
-
-!include ${source_path}/admin/win/nsi/l10n/languages.nsh
-!include ${source_path}/admin/win/nsi/l10n/declarations.nsh
-
-; Set version strings with english locale
-VIProductVersion "${VERSION}"
-VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "${APPLICATION_NAME}"
-VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "${APPLICATION_VENDOR}"
-VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "${VERSION}"
-
-!macro SETLANG un
- Function ${un}SetLang
- # load the selected language file
- !include "${source_path}/admin/win/nsi/l10n\English.nsh"
- StrCmp $LANGUAGE ${LANG_GERMAN} German 0
- StrCmp $LANGUAGE ${LANG_DUTCH} Dutch 0
- StrCmp $LANGUAGE ${LANG_FINNISH} Finnish 0
- StrCmp $LANGUAGE ${LANG_JAPANESE} Japanese 0
- StrCmp $LANGUAGE ${LANG_SLOVENIAN} Slovenian 0
- StrCmp $LANGUAGE ${LANG_SPANISH} Spanish 0
- StrCmp $LANGUAGE ${LANG_ITALIAN} Italian 0
- StrCmp $LANGUAGE ${LANG_ESTONIAN} Estonian 0
- StrCmp $LANGUAGE ${LANG_GREEK} Greek 0
- StrCmp $LANGUAGE ${LANG_BASQUE} Basque 0
- StrCmp $LANGUAGE ${LANG_GALICIAN} Galician 0
- StrCmp $LANGUAGE ${LANG_POLISH} Polish 0
- StrCmp $LANGUAGE ${LANG_TURKISH} Turkish 0
- StrCmp $LANGUAGE ${LANG_NORWEGIAN} Norwegian 0
- StrCmp $LANGUAGE ${LANG_PORTUGUESEBR} Brazilian EndLanguageCmp
- German:
- !include "${source_path}/admin/win/nsi/l10n\German.nsh"
- Goto EndLanguageCmp
- Dutch:
- !include "${source_path}/admin/win/nsi/l10n\Dutch.nsh"
- Goto EndLanguageCmp
- Finnish:
- !include "${source_path}/admin/win/nsi/l10n\Finnish.nsh"
- Goto EndLanguageCmp
- Japanese:
- !include "${source_path}/admin/win/nsi/l10n\Japanese.nsh"
- Goto EndLanguageCmp
- Slovenian:
- !include "${source_path}/admin/win/nsi/l10n\Slovenian.nsh"
- Goto EndLanguageCmp
- Spanish:
- !include "${source_path}/admin/win/nsi/l10n\Spanish.nsh"
- Goto EndLanguageCmp
- Italian:
- !include "${source_path}/admin/win/nsi/l10n\Italian.nsh"
- Goto EndLanguageCmp
- Estonian:
- !include "${source_path}/admin/win/nsi/l10n\Estonian.nsh"
- Goto EndLanguageCmp
- Greek:
- !include "${source_path}/admin/win/nsi/l10n\Greek.nsh"
- Goto EndLanguageCmp
- Basque:
- !include "${source_path}/admin/win/nsi/l10n\Basque.nsh"
- Goto EndLanguageCmp
- Galician:
- !include "${source_path}/admin/win/nsi/l10n\Galician.nsh"
- Goto EndLanguageCmp
- Polish:
- !include "${source_path}/admin/win/nsi/l10n\Polish.nsh"
- Goto EndLanguageCmp
- Turkish:
- !include "${source_path}/admin/win/nsi/l10n\Turkish.nsh"
- Goto EndLanguageCmp
- Brazilian:
- !include "${source_path}/admin/win/nsi/l10n\PortugueseBR.nsh"
- Goto EndLanguageCmp
- Norwegian:
- !include "${source_path}/admin/win/nsi/l10n\Norwegian.nsh"
- EndLanguageCmp:
-
- FunctionEnd
-!macroend
-
-!insertmacro SETLANG ""
-!insertmacro SETLANG "un."
-
-; Usage: ${If} ${HasSection} SectionName
-!macro _HasSection _a _b _t _f
- ReadRegDWORD $_LOGICLIB_TEMP "${MEMENTO_REGISTRY_ROOT}" "${MEMENTO_REGISTRY_KEY}" "MementoSection_${_b}"
- IntCmpU $_LOGICLIB_TEMP 0 ${_f} ${_t}
-!macroend
-!define HasSection `"" HasSection`
-
-##############################################################################
-# #
-# FINISH PAGE LAUNCHER FUNCTIONS #
-# #
-##############################################################################
-
-Function LaunchApplication
- !insertmacro UAC_AsUser_ExecShell "" "$INSTDIR\${APPLICATION_EXECUTABLE}" "" "" ""
-FunctionEnd
-
-##############################################################################
-# #
-# PROCESS HANDLING FUNCTIONS AND MACROS #
-# #
-##############################################################################
-
-!macro CheckForProcess processName gotoWhenFound gotoWhenNotFound
- ${nsProcess::FindProcess} ${processName} $R0
- StrCmp $R0 0 ${gotoWhenFound} ${gotoWhenNotFound}
-!macroend
-
-!macro ConfirmEndProcess processName
- MessageBox MB_YESNO|MB_ICONEXCLAMATION \
- $ConfirmEndProcess_MESSAGEBOX_TEXT \
- /SD IDYES IDYES process_${processName}_kill IDNO process_${processName}_ended
- process_${processName}_kill:
- DetailPrint $ConfirmEndProcess_KILLING_PROCESSES_TEXT
- ${nsProcess::KillProcess} ${processName} $R0
- Sleep 1500
- StrCmp $R0 "1" process_${processName}_ended
- DetailPrint $ConfirmEndProcess_KILL_NOT_FOUND_TEXT
- process_${processName}_ended:
-!macroend
-
-!macro CheckAndConfirmEndProcess processName
- !insertmacro CheckForProcess ${processName} 0 no_process_${processName}_to_end
- !insertmacro ConfirmEndProcess ${processName}
- no_process_${processName}_to_end:
-!macroend
-
-Function EnsureOwncloudShutdown
- !insertmacro CheckAndConfirmEndProcess "${APPLICATION_EXECUTABLE}"
-FunctionEnd
-
-Function InstallRedistributables
- ${If} ${RunningX64}
- ExecWait '"$OUTDIR\vcredist_x64.exe" /install /quiet'
- ${Else}
- ExecWait '"$OUTDIR\vcredist_x86.exe" /install /quiet'
- ${EndIf}
- Delete "$OUTDIR\vcredist_x86.exe"
- Delete "$OUTDIR\vcredist_x64.exe"
-FunctionEnd
-
-##############################################################################
-# #
-# RE-INSTALLER FUNCTIONS #
-# #
-##############################################################################
-
-Function PageReinstall
- ReadRegStr $R0 HKLM "Software\${APPLICATION_VENDOR}\${APPLICATION_NAME}" ""
- StrCmp $R0 "" 0 +2
- Abort
-
- ;Detect version
- ReadRegDWORD $R0 HKLM "Software\${APPLICATION_VENDOR}\${APPLICATION_NAME}" "VersionMajor"
- IntCmp $R0 ${VER_MAJOR} minor_check new_version older_version
- minor_check:
- ReadRegDWORD $R0 HKLM "Software\${APPLICATION_VENDOR}\${APPLICATION_NAME}" "VersionMinor"
- IntCmp $R0 ${VER_MINOR} rev_check new_version older_version
- rev_check:
- ReadRegDWORD $R0 HKLM "Software\${APPLICATION_VENDOR}\${APPLICATION_NAME}" "VersionRevision"
- IntCmp $R0 ${VER_PATCH} build_check new_version older_version
- build_check:
- ReadRegDWORD $R0 HKLM "Software\${APPLICATION_VENDOR}\${APPLICATION_NAME}" "VersionBuild"
- IntCmp $R0 ${VER_BUILD} same_version new_version older_version
-
- new_version:
- !insertmacro INSTALLOPTIONS_WRITE "NSIS.InstallOptions.ini" "Field 1" "Text" $PageReinstall_NEW_Field_1
- !insertmacro INSTALLOPTIONS_WRITE "NSIS.InstallOptions.ini" "Field 2" "Text" $PageReinstall_NEW_Field_2
- !insertmacro INSTALLOPTIONS_WRITE "NSIS.InstallOptions.ini" "Field 3" "Text" $PageReinstall_NEW_Field_3
- !insertmacro MUI_HEADER_TEXT $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE $PageReinstall_NEW_MUI_HEADER_TEXT_SUBTITLE
- StrCpy $R0 "1"
- Goto reinst_start
-
- older_version:
- !insertmacro INSTALLOPTIONS_WRITE "NSIS.InstallOptions.ini" "Field 1" "Text" $PageReinstall_OLD_Field_1
- !insertmacro INSTALLOPTIONS_WRITE "NSIS.InstallOptions.ini" "Field 2" "Text" $PageReinstall_NEW_Field_2
- !insertmacro INSTALLOPTIONS_WRITE "NSIS.InstallOptions.ini" "Field 3" "Text" $PageReinstall_NEW_Field_3
- !insertmacro MUI_HEADER_TEXT $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE $PageReinstall_NEW_MUI_HEADER_TEXT_SUBTITLE
- StrCpy $R0 "1"
- Goto reinst_start
-
- same_version:
- !insertmacro INSTALLOPTIONS_WRITE "NSIS.InstallOptions.ini" "Field 1" "Text" $PageReinstall_SAME_Field_1
- !insertmacro INSTALLOPTIONS_WRITE "NSIS.InstallOptions.ini" "Field 2" "Text" $PageReinstall_SAME_Field_2
- !insertmacro INSTALLOPTIONS_WRITE "NSIS.InstallOptions.ini" "Field 3" "Text" $PageReinstall_SAME_Field_3
- !insertmacro MUI_HEADER_TEXT $PageReinstall_NEW_MUI_HEADER_TEXT_TITLE $PageReinstall_SAME_MUI_HEADER_TEXT_SUBTITLE
- StrCpy $R0 "2"
-
- reinst_start:
- !insertmacro INSTALLOPTIONS_DISPLAY "NSIS.InstallOptions.ini"
-FunctionEnd
-
-Function PageLeaveReinstall
- !insertmacro INSTALLOPTIONS_READ $R1 "NSIS.InstallOptions.ini" "Field 2" "State"
- StrCmp $R0 "1" 0 +2
- StrCmp $R1 "1" reinst_uninstall reinst_done
- StrCmp $R0 "2" 0 +3
- StrCmp $R1 "1" reinst_done reinst_uninstall
- reinst_uninstall:
- ReadRegStr $R1 ${MEMENTO_REGISTRY_ROOT} "${MEMENTO_REGISTRY_KEY}" "UninstallString"
- HideWindow
- ClearErrors
- ExecWait '$R1 _?=$INSTDIR'
- IfErrors no_remove_uninstaller
- IfFileExists "$INSTDIR\${APPLICATION_EXECUTABLE}" no_remove_uninstaller
- Delete $R1
- RMDir $INSTDIR
- no_remove_uninstaller:
- StrCmp $R0 "2" 0 +3
- Quit
- BringToFront
- reinst_done:
-FunctionEnd
-
-##############################################################################
-# #
-# INSTALLER SECTIONS #
-# #
-##############################################################################
-Section "${APPLICATION_NAME}" SEC_APPLICATION
- SectionIn 1 2 3 RO
- SetDetailsPrint listonly
-
- SetDetailsPrint textonly
- DetailPrint $SEC_APPLICATION_DETAILS
- SetDetailsPrint listonly
- SetOutPath "$INSTDIR"
-
- ;Main executable & csync
- File "${BUILD_PATH}\bin\${APPLICATION_EXECUTABLE}"
- File "${BUILD_PATH}\bin\${APPLICATION_CMD_EXECUTABLE}"
- File "${BUILD_PATH}\bin\lib${APPLICATION_SHORTNAME}sync.dll"
- File "${BUILD_PATH}\bin\lib${APPLICATION_SHORTNAME}_csync.dll"
-
- File "${BUILD_PATH}\src\gui\client*.qm"
- ; Make sure only to copy qt, not qt_help, etc
- File "${MING_SHARE}\qt5\translations\qt_??.qm"
- File "${MING_SHARE}\qt5\translations\qt_??_??.qm"
- File "${MING_SHARE}\qt5\translations\qtbase_*.qm"
- File "${MING_SHARE}\qt5\translations\qtkeychain_*.qm"
-
- ;Add crash reporter if it was built
- File /nonfatal "${BUILD_PATH}/bin/${CRASHREPORTER_EXECUTABLE}.exe"
-
- SetOutPath "$INSTDIR\platforms"
- File "${PLATFORMS_DLL_PATH}\qwindows.dll"
- SetOutPath "$INSTDIR\imageformats"
- File "${IMAGEFORMATS_DLL_PATH}\qgif.dll"
- File "${IMAGEFORMATS_DLL_PATH}\qjpeg.dll"
- File "${IMAGEFORMATS_DLL_PATH}\qico.dll"
- File "${IMAGEFORMATS_DLL_PATH}\qsvg.dll"
- ; PNG is built in Qt
-
- SetOutPath "$INSTDIR"
- ;License & release notes.
- File "@CPACK_RESOURCE_FILE_LICENSE@"
- ;File /oname=NOTES.txt ${NSI_PATH}\RELEASE_NOTES.txt
-
- ;Qt config:
- File "${NSI_PATH}\qt.conf"
-
- ;Qt stuff:
- File "${QT_DLL_PATH}\Qt5Core.dll"
- File "${QT_DLL_PATH}\Qt5Gui.dll"
- File "${QT_DLL_PATH}\Qt5Network.dll"
- File "${QT_DLL_PATH}\Qt5PrintSupport.dll"
- File "${QT_DLL_PATH}\Qt5Svg.dll"
- File "${QT_DLL_PATH}\Qt5Qml.dll"
- File "${QT_DLL_PATH}\Qt5Sql.dll"
- File "${QT_DLL_PATH}\Qt5Widgets.dll"
- File "${QT_DLL_PATH}\Qt5Xml.dll"
-
- ;Qt deps
- File "${MING_BIN}\libpng16-16.dll"
- File "${MING_BIN}\icudata56.dll"
- File "${MING_BIN}\icui18n56.dll"
- File "${MING_BIN}\icuuc56.dll"
- File "${MING_BIN}\libEGL.dll"
- File "${MING_BIN}\libGLESv2.dll"
- File "${MING_BIN}\libjpeg-8.dll"
- File "${MING_BIN}\libpcre16-0.dll"
- File "${MING_BIN}\libsqlite3-0.dll"
- File "${MING_BIN}\libcrypto-10.dll"
- File "${MING_BIN}\libssl-10.dll"
- File "${MING_BIN}\libstdc++-6.dll"
- File "${MING_BIN}\libwebp-5.dll"
- File "${MING_BIN}\libxslt-1.dll"
- File "${MING_BIN}\libxml2-2.dll"
- File "${MING_BIN}\zlib1.dll"
- File "${MING_BIN}\libharfbuzz-0.dll"
- File "${MING_BIN}\libfreetype-6.dll"
- File "${MING_BIN}\libglib-2.0-0.dll"
- File "${MING_BIN}\libintl-8.dll"
-
- ;QtKeyChain stuff
- File "${MING_BIN}\libqt5keychain.dll"
-
- ;MinGW stuff
- File "${MING_BIN}\libgcc_s_sjlj-1.dll"
- File "${MING_BIN}\libstdc++-6.dll"
- File "${MING_BIN}\libwinpthread-1.dll"
- File "${MING_BIN}\libssp-0.dll"
-
- ;CSync configs
- File "${SOURCE_PATH}/sync-exclude.lst"
-
- ;Add file association
- !insertmacro APP_ASSOCIATE "${APPLICATION_VIRTUALFILE_SUFFIX}" "${APPLICATION_VIRTUALFILE_FILECLASS}" "Virtual File for Remote File" "$INSTDIR\${APPLICATION_EXECUTABLE},0" "Download" "$INSTDIR\${APPLICATION_EXECUTABLE} $\"%1$\""
-
-SectionEnd
-
-!ifdef OPTION_SECTION_SC_SHELL_EXT
- ${MementoSection} $OPTION_SECTION_SC_SHELL_EXT_SECTION SEC_SHELL_EXT
- SectionIn 1 2
- SetDetailsPrint textonly
- DetailPrint $OPTION_SECTION_SC_SHELL_EXT_DetailPrint
- File "${BUILD_PATH}\vcredist_x86.exe"
- File "${BUILD_PATH}\vcredist_x64.exe"
- Call InstallRedistributables
- CreateDirectory "$INSTDIR\shellext"
- !define LIBRARY_COM
- !define LIBRARY_SHELL_EXTENSION
- !define LIBRARY_IGNORE_VERSION
- ${If} ${RunningX64}
- !define LIBRARY_X64
- !insertmacro InstallLib DLL NOTSHARED REBOOT_PROTECTED "${SOURCE_PATH}\binary\shell_integration\windows\Release\x64\OCUtil_x64.dll" "$INSTDIR\shellext\OCUtil_x64.dll" "$INSTDIR\shellext"
- !insertmacro InstallLib REGDLL NOTSHARED REBOOT_PROTECTED "${SOURCE_PATH}\binary\shell_integration\windows\Release\x64\OCOverlays_x64.dll" "$INSTDIR\shellext\OCOverlays_x64.dll" "$INSTDIR\shellext"
- !insertmacro InstallLib REGDLL NOTSHARED REBOOT_PROTECTED "${SOURCE_PATH}\binary\shell_integration\windows\Release\x64\OCContextMenu_x64.dll" "$INSTDIR\shellext\OCContextMenu_x64.dll" "$INSTDIR\shellext"
- !undef LIBRARY_X64
- ${Else}
- !insertmacro InstallLib DLL NOTSHARED REBOOT_PROTECTED "${SOURCE_PATH}\binary\shell_integration\windows\Release\Win32\OCUtil_x86.dll" "$INSTDIR\shellext\OCUtil_x86.dll" "$INSTDIR\shellext"
- !insertmacro InstallLib REGDLL NOTSHARED REBOOT_PROTECTED "${SOURCE_PATH}\binary\shell_integration\windows\Release\Win32\OCOverlays_x86.dll" "$INSTDIR\shellext\OCOverlays_x86.dll" "$INSTDIR\shellext"
- !insertmacro InstallLib REGDLL NOTSHARED REBOOT_PROTECTED "${SOURCE_PATH}\binary\shell_integration\windows\Release\Win32\OCContextMenu_x86.dll" "$INSTDIR\shellext\OCContextMenu_x86.dll" "$INSTDIR\shellext"
- ${Endif}
- !undef LIBRARY_COM
- !undef LIBRARY_SHELL_EXTENSION
- !undef LIBRARY_IGNORE_VERSION
- ${MementoSectionEnd}
-!endif
-
-SectionGroup $SectionGroup_Shortcuts
-
-!ifdef OPTION_SECTION_SC_START_MENU
- ${MementoSection} $OPTION_SECTION_SC_START_MENU_SECTION SEC_START_MENU
- SectionIn 1 2 3
- SetDetailsPrint textonly
- DetailPrint $OPTION_SECTION_SC_START_MENU_DetailPrint
- SetDetailsPrint listonly
- SetShellVarContext all
- CreateShortCut "$SMPROGRAMS\${APPLICATION_NAME}.lnk" "$INSTDIR\${APPLICATION_EXECUTABLE}"
- SetShellVarContext current
- ${MementoSectionEnd}
-!endif
-
-!ifdef OPTION_SECTION_SC_DESKTOP
- ${MementoSection} $OPTION_SECTION_SC_DESKTOP_SECTION SEC_DESKTOP
- SectionIn 1 2
- SetDetailsPrint textonly
- DetailPrint $OPTION_SECTION_SC_DESKTOP_DetailPrint
- SetDetailsPrint listonly
- SetShellVarContext all
- CreateShortCut "$DESKTOP\${APPLICATION_NAME}.lnk" "$INSTDIR\${APPLICATION_EXECUTABLE}"
- SetShellVarContext current
- ${MementoSectionEnd}
-!endif
-
-!ifdef OPTION_SECTION_SC_QUICK_LAUNCH
- ${MementoSection} $OPTION_SECTION_SC_QUICK_LAUNCH_SECTION SEC_QUICK_LAUNCH
- SectionIn 1 2
- SetDetailsPrint textonly
- DetailPrint $OPTION_SECTION_SC_QUICK_LAUNCH_DetailPrint
- SetShellVarContext all
- SetDetailsPrint listonly
- CreateShortCut "$QUICKLAUNCH\${APPLICATION_NAME}.lnk" "$INSTDIR\${APPLICATION_EXECUTABLE}"
- SetShellVarContext current
- ${MementoSectionEnd}
-!endif
-
-SectionGroupEnd
-
-${MementoSectionDone}
-
-; Installer section descriptions
-;--------------------------------
-!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
-!insertmacro MUI_DESCRIPTION_TEXT ${SEC_APPLICATION} $OPTION_SECTION_SC_APPLICATION_Desc
-!insertmacro MUI_DESCRIPTION_TEXT ${SEC_START_MENU} $OPTION_SECTION_SC_START_MENU_Desc
-!insertmacro MUI_DESCRIPTION_TEXT ${SEC_DESKTOP} $OPTION_SECTION_SC_DESKTOP_Desc
-!insertmacro MUI_DESCRIPTION_TEXT ${SEC_QUICK_LAUNCH} $OPTION_SECTION_SC_QUICK_LAUNCH_Desc
-!insertmacro MUI_FUNCTION_DESCRIPTION_END
-
-
-Section -post
-
- ;Uninstaller file.
- SetDetailsPrint textonly
- DetailPrint $UNINSTALLER_FILE_Detail
- SetDetailsPrint listonly
- WriteUninstaller $INSTDIR\uninstall.exe
-
- ;Registry keys required for installer version handling and uninstaller.
- SetDetailsPrint textonly
- DetailPrint $UNINSTALLER_REGISTRY_Detail
- SetDetailsPrint listonly
-
- ;Version numbers used to detect existing installation version for comparison.
- WriteRegStr HKLM "Software\${APPLICATION_VENDOR}\${APPLICATION_NAME}" "" $INSTDIR
- WriteRegDWORD HKLM "Software\${APPLICATION_VENDOR}\${APPLICATION_NAME}" "VersionMajor" "${VER_MAJOR}"
- WriteRegDWORD HKLM "Software\${APPLICATION_VENDOR}\${APPLICATION_NAME}" "VersionMinor" "${VER_MINOR}"
- WriteRegDWORD HKLM "Software\${APPLICATION_VENDOR}\${APPLICATION_NAME}" "VersionRevision" "${VER_PATCH}"
- WriteRegDWORD HKLM "Software\${APPLICATION_VENDOR}\${APPLICATION_NAME}" "VersionBuild" "${VER_BUILD}"
-
- ;Add or Remove Programs entry.
- WriteRegExpandStr ${MEMENTO_REGISTRY_ROOT} "${MEMENTO_REGISTRY_KEY}" "UninstallString" '"$INSTDIR\Uninstall.exe"'
- WriteRegExpandStr ${MEMENTO_REGISTRY_ROOT} "${MEMENTO_REGISTRY_KEY}" "InstallLocation" "$INSTDIR"
- WriteRegStr ${MEMENTO_REGISTRY_ROOT} "${MEMENTO_REGISTRY_KEY}" "DisplayName" "${APPLICATION_NAME}"
- WriteRegStr ${MEMENTO_REGISTRY_ROOT} "${MEMENTO_REGISTRY_KEY}" "Publisher" "${APPLICATION_VENDOR}"
- WriteRegStr ${MEMENTO_REGISTRY_ROOT} "${MEMENTO_REGISTRY_KEY}" "DisplayIcon" "$INSTDIR\Uninstall.exe,0"
- WriteRegStr ${MEMENTO_REGISTRY_ROOT} "${MEMENTO_REGISTRY_KEY}" "DisplayVersion" "${VERSION}"
- WriteRegDWORD ${MEMENTO_REGISTRY_ROOT} "${MEMENTO_REGISTRY_KEY}" "VersionMajor" "${VER_MAJOR}"
- WriteRegDWORD ${MEMENTO_REGISTRY_ROOT} "${MEMENTO_REGISTRY_KEY}" "VersionMinor" "${VER_MINOR}.${VER_PATCH}.${VER_BUILD}"
- WriteRegStr ${MEMENTO_REGISTRY_ROOT} "${MEMENTO_REGISTRY_KEY}" "URLInfoAbout" "http://${APPLICATION_DOMAIN}/"
- WriteRegStr ${MEMENTO_REGISTRY_ROOT} "${MEMENTO_REGISTRY_KEY}" "HelpLink" "http://${APPLICATION_DOMAIN}/"
- WriteRegDWORD ${MEMENTO_REGISTRY_ROOT} "${MEMENTO_REGISTRY_KEY}" "NoModify" "1"
- WriteRegDWORD ${MEMENTO_REGISTRY_ROOT} "${MEMENTO_REGISTRY_KEY}" "NoRepair" "1"
-
-
- SetDetailsPrint textonly
- DetailPrint $UNINSTALLER_FINISHED_Detail
-SectionEnd
-
-##############################################################################
-# #
-# UNINSTALLER SECTION #
-# #
-##############################################################################
-
-Function un.EnsureOwncloudShutdown
- !insertmacro CheckAndConfirmEndProcess "${APPLICATION_EXECUTABLE}"
-FunctionEnd
-
-Section Uninstall
- IfFileExists "$INSTDIR\${APPLICATION_EXECUTABLE}" owncloud_installed
- MessageBox MB_YESNO $UNINSTALL_MESSAGEBOX /SD IDYES IDYES owncloud_installed
- Abort $UNINSTALL_ABORT
- owncloud_installed:
-
- ; Delete Navigation Pane entries added for Windows 10.
- ; On 64bit Windows, the client will be writing to the 64bit registry.
- ${If} ${RunningX64}
- SetRegView 64
- ${EndIf}
- StrCpy $0 0
- loop:
- ; Look at every registered explorer namespace for HKCU and check if it was added by our application
- ; (we write to a custom "ApplicationName" value there).
- EnumRegKey $1 HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace" $0
- StrCmp $1 "" done
-
- ReadRegStr $R0 HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\$1" "ApplicationName"
- StrCmp $R0 "${APPLICATION_NAME}" deleteClsid
- ; Increment the index when not deleting the enumerated key.
- IntOp $0 $0 + 1
- goto loop
-
- deleteClsid:
- DetailPrint "Removing Navigation Pane CLSID $1"
- ; Should match FolderMan::updateCloudStorageRegistry
- DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\$1"
- DeleteRegKey HKCU "Software\Classes\CLSID\$1"
- DeleteRegValue HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel" $1
- goto loop
- done:
- ; Go back to the 32bit registry.
- SetRegView lastused
-
- ;Delete registry keys.
- DeleteRegValue HKLM "Software\${APPLICATION_VENDOR}\${APPLICATION_NAME}" "VersionBuild"
- DeleteRegValue HKLM "Software\${APPLICATION_VENDOR}\${APPLICATION_NAME}" "VersionMajor"
- DeleteRegValue HKLM "Software\${APPLICATION_VENDOR}\${APPLICATION_NAME}" "VersionMinor"
- DeleteRegValue HKLM "Software\${APPLICATION_VENDOR}\${APPLICATION_NAME}" "VersionRevision"
- DeleteRegValue HKLM "Software\${APPLICATION_VENDOR}\${APPLICATION_NAME}" ""
- DeleteRegKey HKLM "Software\${APPLICATION_VENDOR}\${APPLICATION_NAME}"
-
- DeleteRegKey HKCR "${APPLICATION_NAME}"
-
- ;Remove file association
- !insertmacro APP_UNASSOCIATE "${APPLICATION_VIRTUALFILE_SUFFIX}" "${APPLICATION_VIRTUALFILE_FILECLASS}"
-
- ;Shell extension
- !ifdef OPTION_SECTION_SC_SHELL_EXT
- !define LIBRARY_COM
- !define LIBRARY_SHELL_EXTENSION
- !define LIBRARY_IGNORE_VERSION
- ${If} ${HasSection} SEC_SHELL_EXT
- DetailPrint "Uninstalling x64 overlay DLLs"
- !define LIBRARY_X64
- !insertmacro UnInstallLib REGDLL NOTSHARED REBOOT_PROTECTED "$INSTDIR\shellext\OCContextMenu_x64.dll"
- !insertmacro UnInstallLib REGDLL NOTSHARED REBOOT_PROTECTED "$INSTDIR\shellext\OCOverlays_x64.dll"
- !insertmacro UnInstallLib DLL NOTSHARED REBOOT_PROTECTED "$INSTDIR\shellext\OCUtil_x64.dll"
- !undef LIBRARY_X64
- DetailPrint "Uninstalling x86 overlay DLLs"
- !insertmacro UnInstallLib REGDLL NOTSHARED REBOOT_PROTECTED "$INSTDIR\shellext\OCContextMenu_x86.dll"
- !insertmacro UnInstallLib REGDLL NOTSHARED REBOOT_PROTECTED "$INSTDIR\shellext\OCOverlays_x86.dll"
- !insertmacro UnInstallLib DLL NOTSHARED REBOOT_PROTECTED "$INSTDIR\shellext\OCUtil_x86.dll"
- ${EndIf}
- !undef LIBRARY_COM
- !undef LIBRARY_SHELL_EXTENSION
- !undef LIBRARY_IGNORE_VERSION
- !endif
-
- ;Start menu shortcut
- !ifdef OPTION_SECTION_SC_START_MENU
- SetShellVarContext all
- ${If} ${HasSection} SEC_START_MENU
- Delete "$SMPROGRAMS\${APPLICATION_NAME}.lnk"
- ${EndIf}
- SetShellVarContext current
- !endif
-
- ;Desktop shortcut.
- !ifdef OPTION_SECTION_SC_DESKTOP
- ${If} ${HasSection} SEC_DESKTOP
- SetShellVarContext all
- ${If} ${FileExists} "$DESKTOP\${APPLICATION_NAME}.lnk"
- Delete "$DESKTOP\${APPLICATION_NAME}.lnk"
- ${EndIf}
- SetShellVarContext current
- ${EndIf}
- !endif
-
- ;Quick Launch shortcut.
- !ifdef OPTION_SECTION_SC_QUICK_LAUNCH
- ${If} ${HasSection} SEC_QUICK_LAUNCH
- SetShellVarContext all
- ${If} ${FileExists} "$QUICKLAUNCH\${APPLICATION_NAME}.lnk"
- Delete "$QUICKLAUNCH\${APPLICATION_NAME}.lnk"
- ${EndIf}
- SetShellVarContext current
- ${EndIf}
- !endif
-
- ;Remove all the Program Files.
- RMDir /r $INSTDIR
-
- DeleteRegKey ${MEMENTO_REGISTRY_ROOT} "${MEMENTO_REGISTRY_KEY}"
-
- SetDetailsPrint textonly
- DetailPrint $UNINSTALLER_FINISHED_Detail
-SectionEnd
-
-##############################################################################
-# #
-# NSIS Installer Event Handler Functions #
-# #
-##############################################################################
-
-Function .onInit
- SetOutPath $INSTDIR
-
- ${GetParameters} $R0
- ${GetOptions} $R0 "/launch" $R0
- ${IfNot} ${Errors}
- StrCpy $InstallRunIfSilent "yes"
- ${EndIf}
-
- ${GetParameters} $R0
- ${GetOptions} $R0 "/noautoupdate" $R0
- ${IfNot} ${Errors}
- StrCpy $NoAutomaticUpdates "yes"
- ${EndIf}
-
-
- !insertmacro INSTALLOPTIONS_EXTRACT "NSIS.InstallOptions.ini"
-
- ; uncomment this line if you want to see the language selection
- ;!insertmacro MUI_LANGDLL_DISPLAY
-
- Call SetLang
-
- ; Remove Quick Launch option from Windows 7, as no longer applicable - usually.
- ${IfNot} ${AtMostWinVista}
- SectionSetText ${SEC_QUICK_LAUNCH} $INIT_NO_QUICK_LAUNCH
- SectionSetFlags ${SEC_QUICK_LAUNCH} ${SF_RO}
- SectionSetInstTypes ${SEC_QUICK_LAUNCH} 0
- ${EndIf}
-
- ; Some people might have a shortcut called 'ownCloud' pointing elsewhere, see #356
- ; Unselect item and adjust text
- ${If} ${FileExists} "$DESKTOP\${APPLICATION_NAME}.lnk"
- SectionSetText ${SEC_DESKTOP} $INIT_NO_DESKTOP
- Push $0
- SectionSetFlags ${SEC_DESKTOP} 0
- SectionSetInstTypes ${SEC_DESKTOP} 0
- Pop $0
- ${EndIf}
-
- ${MementoSectionRestore}
-
- UAC_TryAgain:
- !insertmacro UAC_RunElevated
- ${Switch} $0
- ${Case} 0
- ${IfThen} $1 = 1 ${|} Quit ${|} ;we are the outer process, the inner process has done its work, we are done
- ${IfThen} $3 <> 0 ${|} ${Break} ${|} ;we are admin, let the show go on
- ${If} $1 = 3 ;RunAs completed successfully, but with a non-admin user
- MessageBox mb_YesNo|mb_ICONEXCLAMATION|MB_TOPMOST|MB_SETFOREGROUND $UAC_INSTALLER_REQUIRE_ADMIN /SD IDNO IDYES UAC_TryAgain IDNO 0
- ${EndIf}
- ;fall-through and die
- ${Case} 1223
- MessageBox MB_ICONSTOP|MB_TOPMOST|MB_SETFOREGROUND $UAC_INSTALLER_REQUIRE_ADMIN
- Quit
- ${Case} 1062
- MessageBox MB_ICONSTOP|MB_TOPMOST|MB_SETFOREGROUND $UAC_ERROR_LOGON_SERVICE
- Quit
- ${Default}
- MessageBox MB_ICONSTOP "$UAC_ERROR_ELEVATE $0"
- Abort
- Quit
- ${EndSwitch}
-
- ;Prevent multiple instances.
- System::Call 'kernel32::CreateMutexA(i 0, i 0, t "${APPLICATION_SHORTNAME}Installer") i .r1 ?e'
- Pop $R0
- StrCmp $R0 0 +3
- MessageBox MB_OK|MB_ICONEXCLAMATION $INIT_INSTALLER_RUNNING
- Abort
-
- ;Use available InstallLocation when possible. This is useful in the uninstaller
- ;via re-install, which would otherwise use a default location - a bug.
- ReadRegStr $R0 ${MEMENTO_REGISTRY_ROOT} "${MEMENTO_REGISTRY_KEY}" "InstallLocation"
- StrCmp $R0 "" SkipSetInstDir
- StrCpy $INSTDIR $R0
- SkipSetInstDir:
-
- ;Shutdown ${APPLICATION_NAME} in case Add/Remove re-installer option used.
- Call EnsureOwncloudShutdown
-
- ReadRegStr $R0 ${MEMENTO_REGISTRY_ROOT} "${MEMENTO_REGISTRY_KEY}" "InstallLocation"
- ${If} ${Silent}
- ${AndIf} $R0 != ""
- ExecWait '"$R0\Uninstall.exe" /S _?=$R0'
- ${EndIf}
-FunctionEnd
-
-Function .onInstSuccess
- ${MementoSectionSave}
-
- ${If} $NoAutomaticUpdates == "yes"
- WriteRegDWORD HKLM "Software\${APPLICATION_VENDOR}\${APPLICATION_NAME}" "skipUpdateCheck" "1"
- ${EndIf}
-
- ; TODO: Only needed to when updating from 2.1.{0,1}. Remove in due time.
- Delete /REBOOTOK $INSTDIR\bearer\qgenericbearer.dll
- Delete /REBOOTOK $INSTDIR\bearer\qnativewifibearer.dll
- RMDir /REBOOTOK $INSTDIR\bearer
-
- ${If} ${Silent}
- ${AndIf} $InstallRunIfSilent == "yes"
- Call LaunchApplication
- ${EndIf}
-FunctionEnd
-
-Function .onInstFailed
-FunctionEnd
-
-##############################################################################
-# #
-# NSIS Uninstaller Event Handler Functions #
-# #
-##############################################################################
-
-Function un.onInit
- Call un.SetLang
-
- UAC_TryAgain:
- !insertmacro UAC_RunElevated
- ${Switch} $0
- ${Case} 0
- ${IfThen} $1 = 1 ${|} Quit ${|} ;we are the outer process, the inner process has done its work, we are done
- ${IfThen} $3 <> 0 ${|} ${Break} ${|} ;we are admin, let the show go on
- ${If} $1 = 3 ;RunAs completed successfully, but with a non-admin user
- MessageBox mb_YesNo|mb_ICONEXCLAMATION|MB_TOPMOST|MB_SETFOREGROUND $UAC_UNINSTALLER_REQUIRE_ADMIN /SD IDNO IDYES UAC_TryAgain IDNO 0
- ${EndIf}
- ;fall-through and die
- ${Case} 1223
- MessageBox MB_ICONSTOP|MB_TOPMOST|MB_SETFOREGROUND $UAC_UNINSTALLER_REQUIRE_ADMIN
- Quit
- ${Case} 1062
- MessageBox MB_ICONSTOP|MB_TOPMOST|MB_SETFOREGROUND $UAC_ERROR_LOGON_SERVICE
- Quit
- ${Default}
- MessageBox MB_ICONSTOP "$UAC_ERROR_ELEVATE $0"
- Abort
- Quit
- ${EndSwitch}
-
- ;Prevent multiple instances.
- System::Call 'kernel32::CreateMutexA(i 0, i 0, t "${APPLICATION_SHORTNAME}Uninstaller") i .r1 ?e'
- Pop $R0
- StrCmp $R0 0 +3
- MessageBox MB_OK|MB_ICONEXCLAMATION $INIT_UNINSTALLER_RUNNING
- Abort
-
- ;Shutdown ${APPLICATION_NAME} in order to remove locked files.
- Call un.EnsureOwncloudShutdown
-FunctionEnd
-
-Function un.onUnInstSuccess
-FunctionEnd
-
-Function un.onUnInstFailed
-FunctionEnd