mirror of https://github.com/BTCPrivate/copay.git
148 lines
6.5 KiB
Plaintext
148 lines
6.5 KiB
Plaintext
# This installs two files, app.exe and logo.ico, creates a start menu shortcut, builds an uninstaller, and
|
|
# adds uninstall information to the registry for Add/Remove Programs
|
|
|
|
# To get started, put this script into a folder with the two files (app.exe, logo.ico, and license.rtf -
|
|
# You'll have to create these yourself) and run makensis on it
|
|
|
|
# If you change the names "app.exe", "logo.ico", or "license.rtf" you should do a search and replace - they
|
|
# show up in a few places.
|
|
# All the other settings can be tweaked by editing the !defines at the top of this script
|
|
!define APPNAME "Copay"
|
|
!define COMPANYNAME "BitPay, Inc"
|
|
!define DESCRIPTION "Multisignature Wallet"
|
|
# These three must be integers
|
|
!define VERSIONMAJOR 0
|
|
!define VERSIONMINOR 0
|
|
!define VERSIONBUILD 7
|
|
# These will be displayed by the "Click here for support information" link in "Add/Remove Programs"
|
|
# It is possible to use "mailto:" links in here to open the email client
|
|
!define HELPURL "http://github.com/bitpay/copay/issues" # "Support Information" link
|
|
!define UPDATEURL "http://github.com/bitpay/copay" # "Product Updates" link
|
|
!define ABOUTURL "http://bitpay.github.io/copay" # "Publisher" link
|
|
# This is the size (in kB) of all the files copied into "Program Files"
|
|
!define INSTALLSIZE 7233
|
|
|
|
RequestExecutionLevel admin ;Require admin rights on NT6+ (When UAC is turned on)
|
|
|
|
InstallDir "$PROGRAMFILES\${COMPANYNAME}\${APPNAME}"
|
|
|
|
# rtf or txt file - remember if it is txt, it must be in the DOS text format (\r\n)
|
|
# This will be in the installer/uninstaller's title bar
|
|
Name "${APPNAME} - Multisignature Wallet"
|
|
Icon "logo.ico"
|
|
outFile "copay-setup.exe"
|
|
|
|
!include LogicLib.nsh
|
|
|
|
# Just three pages - license agreement, install location, and installation
|
|
# page license
|
|
page directory
|
|
Page instfiles
|
|
|
|
!macro VerifyUserIsAdmin
|
|
UserInfo::GetAccountType
|
|
pop $0
|
|
${If} $0 != "admin" ;Require admin rights on NT4+
|
|
messageBox mb_iconstop "Administrator rights required!"
|
|
setErrorLevel 740 ;ERROR_ELEVATION_REQUIRED
|
|
quit
|
|
${EndIf}
|
|
!macroend
|
|
|
|
function .onInit
|
|
setShellVarContext all
|
|
!insertmacro VerifyUserIsAdmin
|
|
functionEnd
|
|
|
|
section "install"
|
|
# Files for the install directory - to build the installer, these should be in the same directory as the install script (this file)
|
|
setOutPath $INSTDIR
|
|
# Files added here should be removed by the uninstaller (see section "uninstall")
|
|
file "Copay.exe"
|
|
file "logo.ico"
|
|
# Add any other files for the install directory (license files, app data, etc) here
|
|
file /r "locales"
|
|
file /r "resources"
|
|
file "chromiumcontent.dll"
|
|
file "content_shell.pak"
|
|
file "d3dcompiler_43.dll"
|
|
file "ffmpegsumo.dll"
|
|
file "icudt.dll"
|
|
file "libEGL.dll"
|
|
file "libGLESv2.dll"
|
|
file "LICENSE"
|
|
file "version"
|
|
file "xinput1_3.dll"
|
|
|
|
# Uninstaller - See function un.onInit and section "uninstall" for configuration
|
|
writeUninstaller "$INSTDIR\uninstall.exe"
|
|
|
|
# Start Menu
|
|
createDirectory "$SMPROGRAMS\${COMPANYNAME}"
|
|
createShortCut "$SMPROGRAMS\${COMPANYNAME}\${APPNAME}.lnk" "$INSTDIR\Copay.exe" "" "$INSTDIR\logo.ico"
|
|
|
|
# Registry information for add/remove programs
|
|
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "DisplayName" "${COMPANYNAME} - ${APPNAME} - ${DESCRIPTION}"
|
|
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "UninstallString" "$\"$INSTDIR\uninstall.exe$\""
|
|
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "QuietUninstallString" "$\"$INSTDIR\uninstall.exe$\" /S"
|
|
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "InstallLocation" "$\"$INSTDIR$\""
|
|
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "DisplayIcon" "$\"$INSTDIR\logo.ico$\""
|
|
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "Publisher" "$\"${COMPANYNAME}$\""
|
|
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "HelpLink" "$\"${HELPURL}$\""
|
|
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "URLUpdateInfo" "$\"${UPDATEURL}$\""
|
|
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "URLInfoAbout" "$\"${ABOUTURL}$\""
|
|
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "DisplayVersion" "$\"${VERSIONMAJOR}.${VERSIONMINOR}.${VERSIONBUILD}$\""
|
|
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "VersionMajor" ${VERSIONMAJOR}
|
|
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "VersionMinor" ${VERSIONMINOR}
|
|
# There is no option for modifying or repairing the install
|
|
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "NoModify" 1
|
|
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "NoRepair" 1
|
|
# Set the INSTALLSIZE constant (!defined at the top of this script) so Add/Remove Programs can accurately report the size
|
|
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "EstimatedSize" ${INSTALLSIZE}
|
|
sectionEnd
|
|
|
|
# Uninstaller
|
|
|
|
function un.onInit
|
|
SetShellVarContext all
|
|
|
|
#Verify the uninstaller - last chance to back out
|
|
MessageBox MB_OKCANCEL "Permanantly remove ${APPNAME}?" IDOK next
|
|
Abort
|
|
next:
|
|
!insertmacro VerifyUserIsAdmin
|
|
functionEnd
|
|
|
|
section "uninstall"
|
|
|
|
# Remove Start Menu launcher
|
|
delete "$SMPROGRAMS\${COMPANYNAME}\${APPNAME}.lnk"
|
|
# Try to remove the Start Menu folder - this will only happen if it is empty
|
|
rmDir "$SMPROGRAMS\${COMPANYNAME}"
|
|
|
|
# Remove files
|
|
delete $INSTDIR\*.pak
|
|
delete $INSTDIR\logo.ico
|
|
rmDir /r $INSTDIR\locales
|
|
rmDir /r $INSTDIR\resources
|
|
delete $INSTDIR\chromiumcontent.dll
|
|
delete $INSTDIR\content_shell.pak
|
|
delete $INSTDIR\d3dcompiler_43.dll
|
|
delete $INSTDIR\ffmpegsumo.dll
|
|
delete $INSTDIR\icudt.dll
|
|
delete $INSTDIR\libEGL.dll
|
|
delete $INSTDIR\libGLESv2.dll
|
|
delete $INSTDIR\LICENSE
|
|
delete $INSTDIR\version
|
|
delete $INSTDIR\xinput1_3.dll
|
|
delete $INSTDIR\Copay.exe
|
|
|
|
# Always delete uninstaller as the last action
|
|
delete $INSTDIR\uninstall.exe
|
|
|
|
# Try to remove the install directory - this will only happen if it is empty
|
|
rmDir $INSTDIR
|
|
|
|
# Remove uninstaller information from the registry
|
|
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}"
|
|
sectionEnd |