added findprocdll for NSIS installer
This commit is contained in:
parent
9e9beaf349
commit
e3ad24373c
2 changed files with 123 additions and 122 deletions
BIN
windows/FindProcDLL.dll
Normal file
BIN
windows/FindProcDLL.dll
Normal file
Binary file not shown.
|
@ -1,122 +1,123 @@
|
|||
; Jamulus NSIS installer script
|
||||
|
||||
!define APP_NAME "Jamulus"
|
||||
!define APP_EXE "Jamulus.exe"
|
||||
!define AUTORUN_NAME "Jamulus server"
|
||||
!define UNINSTALL_EXE "Uninstall.exe"
|
||||
!define INSTALLER_NAME "Jamulusinstaller.exe"
|
||||
!define BINARY_PATH "..\release\"
|
||||
!define VS_REDIST_PATH "C:\Program Files (x86)\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Packages\vcredist_x86\"
|
||||
;!define VS_REDIST_PATH "C:\Programme\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Packages\vcredist_x86\"
|
||||
!define VS_REDIST_EXE "vcredist_x86.exe"
|
||||
!define UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APP_NAME}"
|
||||
!define AUTORUN_KEY "Software\Microsoft\Windows\CurrentVersion\Run"
|
||||
|
||||
|
||||
SetCompressor lzma
|
||||
Name "${APP_NAME}"
|
||||
Caption "${APP_NAME}"
|
||||
OutFile "${INSTALLER_NAME}"
|
||||
InstallDir "$PROGRAMFILES\${APP_NAME}"
|
||||
|
||||
LicenseText "License"
|
||||
LicenseData "..\COPYING"
|
||||
|
||||
Page license
|
||||
Page directory
|
||||
Page instfiles
|
||||
|
||||
|
||||
Section
|
||||
|
||||
; check if software is currently running
|
||||
FindProcDLL::FindProc "${APP_EXE}"
|
||||
IntCmp $R0 1 0 notRunning
|
||||
MessageBox MB_OK|MB_ICONEXCLAMATION "${APP_NAME} is running. Please close it and run the setup again." /SD IDOK
|
||||
Abort
|
||||
notRunning:
|
||||
|
||||
; add reg keys so that software appears in Windows "Add/Remove Software"
|
||||
WriteRegStr HKLM "${UNINST_KEY}" "DisplayName" "${APP_NAME} (remove only)"
|
||||
WriteRegStr HKLM "${UNINST_KEY}" "UninstallString" '"$INSTDIR\${UNINSTALL_EXE}"'
|
||||
|
||||
SetOutPath $INSTDIR
|
||||
|
||||
; main application
|
||||
File "${BINARY_PATH}${APP_EXE}"
|
||||
|
||||
; QT dlls
|
||||
File "$%QTDIR%\bin\Qt5Core.dll"
|
||||
File "$%QTDIR%\bin\Qt5Gui.dll"
|
||||
File "$%QTDIR%\bin\Qt5Widgets.dll"
|
||||
File "$%QTDIR%\bin\Qt5Network.dll"
|
||||
File "$%QTDIR%\bin\Qt5Xml.dll"
|
||||
File "$%QTDIR%\bin\D3DCompiler_47.dll"
|
||||
File "$%QTDIR%\bin\icudt54.dll"
|
||||
File "$%QTDIR%\bin\icuin54.dll"
|
||||
File "$%QTDIR%\bin\icuuc54.dll"
|
||||
File "$%QTDIR%\bin\libEGL.dll"
|
||||
File "$%QTDIR%\bin\libGLESv2.dll"
|
||||
|
||||
; other files
|
||||
File "..\COPYING"
|
||||
|
||||
; temporarily create Microsoft Visual Studio redistributable,
|
||||
File "${VS_REDIST_PATH}${VS_REDIST_EXE}"
|
||||
ExecWait '"$INSTDIR\${VS_REDIST_EXE}" /Q'
|
||||
|
||||
; uninstaller
|
||||
WriteUninstaller $INSTDIR\${UNINSTALL_EXE}
|
||||
|
||||
; shortcuts
|
||||
CreateShortCut "$DESKTOP\${APP_NAME}.lnk" "$OUTDIR\${APP_EXE}"
|
||||
|
||||
CreateDirectory "$SMPROGRAMS\${APP_NAME}"
|
||||
CreateShortCut "$SMPROGRAMS\${APP_NAME}\${APP_NAME}.lnk" "$INSTDIR\${APP_EXE}"
|
||||
CreateShortCut "$SMPROGRAMS\${APP_NAME}\${APP_NAME} Server.lnk" "$INSTDIR\${APP_EXE}" "-s"
|
||||
CreateShortCut "$SMPROGRAMS\${APP_NAME}\${UNINSTALL_EXE}.lnk" "$INSTDIR\${UNINSTALL_EXE}"
|
||||
|
||||
; cleanup: remove temporary Microsoft Visual Studio redistributable executable
|
||||
Delete $INSTDIR\${VS_REDIST_EXE}
|
||||
|
||||
; additional platform dlls
|
||||
SetOutPath $INSTDIR\platforms
|
||||
File "$%QTDIR%\plugins\platforms\qwindows.dll"
|
||||
File "$%QTDIR%\plugins\platforms\qminimal.dll"
|
||||
|
||||
SectionEnd
|
||||
|
||||
|
||||
Section "Uninstall"
|
||||
|
||||
DeleteRegKey HKLM "${UNINST_KEY}"
|
||||
|
||||
; the software may have written an auto run entry in the registry, remove it
|
||||
DeleteRegValue HKCU "${AUTORUN_KEY}" "${AUTORUN_NAME}"
|
||||
|
||||
Delete "$DESKTOP\${APP_NAME}.lnk"
|
||||
Delete "$SMPROGRAMS\${APP_NAME}\${APP_NAME}.lnk"
|
||||
Delete "$SMPROGRAMS\${APP_NAME}\${APP_NAME} server.lnk"
|
||||
Delete "$SMPROGRAMS\${APP_NAME}\${UNINSTALL_EXE}.lnk"
|
||||
RMDIR "$SMPROGRAMS\${APP_NAME}"
|
||||
|
||||
Delete $INSTDIR\${UNINSTALL_EXE}
|
||||
Delete $INSTDIR\${APP_EXE}
|
||||
Delete $INSTDIR\Qt5Core.dll
|
||||
Delete $INSTDIR\Qt5Gui.dll
|
||||
Delete $INSTDIR\Qt5Widgets.dll
|
||||
Delete $INSTDIR\Qt5Network.dll
|
||||
Delete $INSTDIR\Qt5Xml.dll
|
||||
Delete $INSTDIR\D3DCompiler_47.dll
|
||||
Delete $INSTDIR\icudt54.dll
|
||||
Delete $INSTDIR\icuin54.dll
|
||||
Delete $INSTDIR\icuuc54.dll
|
||||
Delete $INSTDIR\libEGL.dll
|
||||
Delete $INSTDIR\libGLESv2.dll
|
||||
Delete $INSTDIR\COPYING
|
||||
Delete $INSTDIR\platforms\qwindows.dll
|
||||
Delete $INSTDIR\platforms\qminimal.dll
|
||||
RMDir $INSTDIR\platforms
|
||||
RMDir $INSTDIR
|
||||
|
||||
SectionEnd
|
||||
; Jamulus NSIS installer script
|
||||
|
||||
!define APP_NAME "Jamulus"
|
||||
!define APP_EXE "Jamulus.exe"
|
||||
!define AUTORUN_NAME "Jamulus server"
|
||||
!define UNINSTALL_EXE "Uninstall.exe"
|
||||
!define INSTALLER_NAME "Jamulusinstaller.exe"
|
||||
!define BINARY_PATH "..\release\"
|
||||
!define VS_REDIST_PATH "C:\Program Files (x86)\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Packages\vcredist_x86\"
|
||||
;!define VS_REDIST_PATH "C:\Programme\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Packages\vcredist_x86\"
|
||||
!define VS_REDIST_EXE "vcredist_x86.exe"
|
||||
!define UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APP_NAME}"
|
||||
!define AUTORUN_KEY "Software\Microsoft\Windows\CurrentVersion\Run"
|
||||
|
||||
|
||||
SetCompressor lzma
|
||||
Name "${APP_NAME}"
|
||||
Caption "${APP_NAME}"
|
||||
OutFile "${INSTALLER_NAME}"
|
||||
InstallDir "$PROGRAMFILES\${APP_NAME}"
|
||||
|
||||
LicenseText "License"
|
||||
LicenseData "..\COPYING"
|
||||
|
||||
Page license
|
||||
Page directory
|
||||
Page instfiles
|
||||
|
||||
|
||||
Section
|
||||
|
||||
; check if software is currently running
|
||||
!addplugindir ..\windows
|
||||
FindProcDLL::FindProc "${APP_EXE}"
|
||||
IntCmp $R0 1 0 notRunning
|
||||
MessageBox MB_OK|MB_ICONEXCLAMATION "${APP_NAME} is running. Please close it and run the setup again." /SD IDOK
|
||||
Abort
|
||||
notRunning:
|
||||
|
||||
; add reg keys so that software appears in Windows "Add/Remove Software"
|
||||
WriteRegStr HKLM "${UNINST_KEY}" "DisplayName" "${APP_NAME} (remove only)"
|
||||
WriteRegStr HKLM "${UNINST_KEY}" "UninstallString" '"$INSTDIR\${UNINSTALL_EXE}"'
|
||||
|
||||
SetOutPath $INSTDIR
|
||||
|
||||
; main application
|
||||
File "${BINARY_PATH}${APP_EXE}"
|
||||
|
||||
; QT dlls
|
||||
File "$%QTDIR%\bin\Qt5Core.dll"
|
||||
File "$%QTDIR%\bin\Qt5Gui.dll"
|
||||
File "$%QTDIR%\bin\Qt5Widgets.dll"
|
||||
File "$%QTDIR%\bin\Qt5Network.dll"
|
||||
File "$%QTDIR%\bin\Qt5Xml.dll"
|
||||
File "$%QTDIR%\bin\D3DCompiler_47.dll"
|
||||
File "$%QTDIR%\bin\icudt54.dll"
|
||||
File "$%QTDIR%\bin\icuin54.dll"
|
||||
File "$%QTDIR%\bin\icuuc54.dll"
|
||||
File "$%QTDIR%\bin\libEGL.dll"
|
||||
File "$%QTDIR%\bin\libGLESv2.dll"
|
||||
|
||||
; other files
|
||||
File "..\COPYING"
|
||||
|
||||
; temporarily create Microsoft Visual Studio redistributable,
|
||||
File "${VS_REDIST_PATH}${VS_REDIST_EXE}"
|
||||
ExecWait '"$INSTDIR\${VS_REDIST_EXE}" /Q'
|
||||
|
||||
; uninstaller
|
||||
WriteUninstaller $INSTDIR\${UNINSTALL_EXE}
|
||||
|
||||
; shortcuts
|
||||
CreateShortCut "$DESKTOP\${APP_NAME}.lnk" "$OUTDIR\${APP_EXE}"
|
||||
|
||||
CreateDirectory "$SMPROGRAMS\${APP_NAME}"
|
||||
CreateShortCut "$SMPROGRAMS\${APP_NAME}\${APP_NAME}.lnk" "$INSTDIR\${APP_EXE}"
|
||||
CreateShortCut "$SMPROGRAMS\${APP_NAME}\${APP_NAME} Server.lnk" "$INSTDIR\${APP_EXE}" "-s"
|
||||
CreateShortCut "$SMPROGRAMS\${APP_NAME}\${UNINSTALL_EXE}.lnk" "$INSTDIR\${UNINSTALL_EXE}"
|
||||
|
||||
; cleanup: remove temporary Microsoft Visual Studio redistributable executable
|
||||
Delete $INSTDIR\${VS_REDIST_EXE}
|
||||
|
||||
; additional platform dlls
|
||||
SetOutPath $INSTDIR\platforms
|
||||
File "$%QTDIR%\plugins\platforms\qwindows.dll"
|
||||
File "$%QTDIR%\plugins\platforms\qminimal.dll"
|
||||
|
||||
SectionEnd
|
||||
|
||||
|
||||
Section "Uninstall"
|
||||
|
||||
DeleteRegKey HKLM "${UNINST_KEY}"
|
||||
|
||||
; the software may have written an auto run entry in the registry, remove it
|
||||
DeleteRegValue HKCU "${AUTORUN_KEY}" "${AUTORUN_NAME}"
|
||||
|
||||
Delete "$DESKTOP\${APP_NAME}.lnk"
|
||||
Delete "$SMPROGRAMS\${APP_NAME}\${APP_NAME}.lnk"
|
||||
Delete "$SMPROGRAMS\${APP_NAME}\${APP_NAME} server.lnk"
|
||||
Delete "$SMPROGRAMS\${APP_NAME}\${UNINSTALL_EXE}.lnk"
|
||||
RMDIR "$SMPROGRAMS\${APP_NAME}"
|
||||
|
||||
Delete $INSTDIR\${UNINSTALL_EXE}
|
||||
Delete $INSTDIR\${APP_EXE}
|
||||
Delete $INSTDIR\Qt5Core.dll
|
||||
Delete $INSTDIR\Qt5Gui.dll
|
||||
Delete $INSTDIR\Qt5Widgets.dll
|
||||
Delete $INSTDIR\Qt5Network.dll
|
||||
Delete $INSTDIR\Qt5Xml.dll
|
||||
Delete $INSTDIR\D3DCompiler_47.dll
|
||||
Delete $INSTDIR\icudt54.dll
|
||||
Delete $INSTDIR\icuin54.dll
|
||||
Delete $INSTDIR\icuuc54.dll
|
||||
Delete $INSTDIR\libEGL.dll
|
||||
Delete $INSTDIR\libGLESv2.dll
|
||||
Delete $INSTDIR\COPYING
|
||||
Delete $INSTDIR\platforms\qwindows.dll
|
||||
Delete $INSTDIR\platforms\qminimal.dll
|
||||
RMDir $INSTDIR\platforms
|
||||
RMDir $INSTDIR
|
||||
|
||||
SectionEnd
|
||||
|
|
Loading…
Reference in a new issue