mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2024-12-21 08:09:35 +08:00
ff9a281b72
Change project directory structure according to application structure. Change 'nox' configuration option to something more meaningful 'nogui'. Rename 'Icons' folder to 'icons' (similar to other folders). Partially add 'nowebui' option support. Remove QConf project file.
112 lines
3.5 KiB
Plaintext
112 lines
3.5 KiB
Plaintext
Unicode true
|
|
;Compress the header too
|
|
!packhdr "$%TEMP%\exehead.tmp" 'upx.exe -9 --best --ultra-brute "$%TEMP%\exehead.tmp"'
|
|
|
|
;Setting the compression
|
|
SetCompressor /SOLID LZMA
|
|
SetCompressorDictSize 64
|
|
XPStyle on
|
|
|
|
!include "MUI.nsh"
|
|
!include "UAC.nsh"
|
|
!include "FileFunc.nsh"
|
|
|
|
;For the file association
|
|
!define SHCNE_ASSOCCHANGED 0x8000000
|
|
!define SHCNF_IDLIST 0
|
|
|
|
;For special folder detection
|
|
!define CSIDL_APPDATA '0x1A' ;Application Data path
|
|
!define CSIDL_LOCALAPPDATA '0x1C' ;Local Application Data path
|
|
|
|
!define PROG_VERSION "3.2.0"
|
|
!define MUI_FINISHPAGE_RUN
|
|
!define MUI_FINISHPAGE_RUN_FUNCTION PageFinishRun
|
|
!define MUI_FINISHPAGE_RUN_TEXT $(launch_qbt)
|
|
|
|
; The name of the installer
|
|
Name "qBittorrent ${PROG_VERSION}"
|
|
|
|
; The file to write
|
|
OutFile "qbittorrent_${PROG_VERSION}_setup.exe"
|
|
|
|
;Installer Version Information
|
|
VIAddVersionKey "ProductName" "qBittorrent"
|
|
VIAddVersionKey "CompanyName" "The qBittorrent project"
|
|
VIAddVersionKey "LegalCopyright" "Copyright ©2006-2014 The qBittorrent project"
|
|
VIAddVersionKey "FileDescription" "qBittorrent - A Bittorrent Client"
|
|
VIAddVersionKey "FileVersion" "${PROG_VERSION}"
|
|
|
|
VIProductVersion "${PROG_VERSION}.0"
|
|
|
|
; The default installation directory
|
|
InstallDir $PROGRAMFILES\qBittorrent
|
|
|
|
; Registry key to check for directory (so if you install again, it will
|
|
; overwrite the old one automatically)
|
|
InstallDirRegKey HKLM Software\qbittorrent InstallLocation
|
|
|
|
; Request application privileges for Windows Vista
|
|
RequestExecutionLevel user
|
|
|
|
;--------------------------------
|
|
;General Settings
|
|
!define MUI_ABORTWARNING
|
|
!define MUI_HEADERIMAGE
|
|
!define MUI_COMPONENTSPAGE_NODESC
|
|
;!define MUI_ICON "qbittorrent.ico"
|
|
!define MUI_LICENSEPAGE_CHECKBOX
|
|
!define MUI_LANGDLL_ALLLANGUAGES
|
|
|
|
;--------------------------------
|
|
;Remember the unistaller/installer language
|
|
!define MUI_LANGDLL_REGISTRY_ROOT "HKLM"
|
|
!define MUI_LANGDLL_REGISTRY_KEY "Software\qbittorrent"
|
|
!define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
|
|
|
|
;--------------------------------
|
|
;Installer Pages
|
|
!insertmacro MUI_PAGE_WELCOME
|
|
!insertmacro MUI_PAGE_LICENSE "license.txt"
|
|
!insertmacro MUI_PAGE_COMPONENTS
|
|
!define MUI_PAGE_CUSTOMFUNCTION_LEAVE check_instance
|
|
!insertmacro MUI_PAGE_DIRECTORY
|
|
!insertmacro MUI_PAGE_INSTFILES
|
|
!insertmacro MUI_PAGE_FINISH
|
|
|
|
;--------------------------------
|
|
;Uninstaller Pages
|
|
!insertmacro MUI_UNPAGE_CONFIRM
|
|
!define MUI_PAGE_CUSTOMFUNCTION_LEAVE un.check_instance
|
|
!insertmacro MUI_UNPAGE_COMPONENTS
|
|
!insertmacro MUI_UNPAGE_INSTFILES
|
|
|
|
!insertmacro MUI_RESERVEFILE_LANGDLL
|
|
ReserveFile "${NSISDIR}\Plugins\x86-unicode\FindProcDLL.dll"
|
|
ReserveFile "${NSISDIR}\Plugins\x86-unicode\UAC.dll"
|
|
|
|
!macro Init thing
|
|
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 "This ${thing} requires admin privileges, try again" /SD IDNO IDYES uac_tryagain IDNO 0
|
|
${EndIf}
|
|
;fall-through and die
|
|
${Case} 1223
|
|
MessageBox mb_IconStop|mb_TopMost|mb_SetForeground "This ${thing} requires admin privileges, aborting!"
|
|
Quit
|
|
${Case} 1062
|
|
MessageBox mb_IconStop|mb_TopMost|mb_SetForeground "Logon service not running, aborting!"
|
|
Quit
|
|
${Default}
|
|
MessageBox mb_IconStop|mb_TopMost|mb_SetForeground "Unable to elevate , error $0"
|
|
Quit
|
|
${EndSwitch}
|
|
|
|
SetShellVarContext all
|
|
!macroend
|