mirror of
https://github.com/ossrs/srs.git
synced 2025-02-15 04:42:04 +00:00
1. Support github actions on Windows Server 2022. 2. Use cygwin64 in windows-latest to build SRS. 3. Package SRS-xxx-setup.exe by NSIS.exe 4. Patch crypto/include/config.h for libsrtp. 5. Support run as administrator. 6. Apply utest for cygwin. 7. Enable srtp over openssl.
154 lines
No EOL
5.8 KiB
Text
154 lines
No EOL
5.8 KiB
Text
; Script generated by the HM NIS Edit Script Wizard.
|
|
; See https://nsis.sourceforge.io/Download
|
|
; "C:\Program Files (x86)\NSIS\makensis.exe" /DSRS_VERSION=5.0.89 /DCYGWIN_DIR="C:\tools\cygwin" srs.nsi
|
|
; "/cygdrive/c/Program Files (x86)/NSIS/makensis.exe" /DSRS_VERSION=5.0.89 /DCYGWIN_DIR="C:\cygwin64" srs.nsi
|
|
; "/cygdrive/c/Program Files (x86)/NSIS/makensis.exe" /DSRS_VERSION=$(../../objs/srs -v 2>&1) /DCYGWIN_DIR="C:\cygwin64" srs.nsi
|
|
; "/cygdrive/c/Program Files (x86)/NSIS/makensis.exe" /DSRS_VERSION=$(./objs/srs -v 2>&1) /DCYGWIN_DIR="C:\cygwin64" packaging/nsis/srs.nsi
|
|
|
|
; HM NIS Edit Wizard helper defines
|
|
!define PRODUCT_NAME "SRS"
|
|
!define PRODUCT_VERSION "${SRS_VERSION}"
|
|
!define PRODUCT_PUBLISHER "ossrs"
|
|
!define PRODUCT_WEB_SITE "https://ossrs.io"
|
|
!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\srs.exe"
|
|
!define PRODUCT_INSTALL_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\srs\ins_dir"
|
|
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
|
|
!define PRODUCT_UNINST_ROOT_KEY "HKLM"
|
|
|
|
; MUI 1.67 compatible ------
|
|
!include "MUI.nsh"
|
|
|
|
; MUI Settings
|
|
!define MUI_ABORTWARNING
|
|
!define MUI_ICON "..\..\doc\srs-logo.ico"
|
|
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
|
|
|
|
; Welcome page
|
|
!insertmacro MUI_PAGE_WELCOME
|
|
; License page
|
|
!insertmacro MUI_PAGE_LICENSE "..\..\..\LICENSE"
|
|
; Directory page
|
|
!insertmacro MUI_PAGE_DIRECTORY
|
|
; Instfiles page
|
|
!insertmacro MUI_PAGE_INSTFILES
|
|
; Finish page
|
|
;!define MUI_FINISHPAGE_RUN "$INSTDIR\srs-cli.bat"
|
|
!insertmacro MUI_PAGE_FINISH
|
|
|
|
; Uninstaller pages
|
|
!insertmacro MUI_UNPAGE_INSTFILES
|
|
|
|
; Language files
|
|
!insertmacro MUI_LANGUAGE "English"
|
|
|
|
; MUI end ------
|
|
|
|
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
|
|
OutFile "SRS-Windows-x86_64-${PRODUCT_VERSION}-setup.exe"
|
|
InstallDir "$PROGRAMFILES\SRS"
|
|
InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
|
|
ShowInstDetails show
|
|
ShowUnInstDetails show
|
|
|
|
Section "MainSection" SEC01
|
|
SetOutPath "$INSTDIR"
|
|
SetOverwrite ifnewer
|
|
File "..\..\..\LICENSE"
|
|
File ".\*.bat"
|
|
SetOutPath "$INSTDIR\conf"
|
|
SetOverwrite try
|
|
File "..\..\conf\*.conf"
|
|
SetOutPath "$INSTDIR\logo"
|
|
File "..\..\doc\srs-logo.ico"
|
|
SetOutPath "$INSTDIR\objs"
|
|
File "${CYGWIN_DIR}\bin\cyggcc_s-seh-1.dll"
|
|
File "${CYGWIN_DIR}\bin\cygstdc++-6.dll"
|
|
File "${CYGWIN_DIR}\bin\cygwin1.dll"
|
|
SetOutPath "$INSTDIR\objs\nginx\html"
|
|
File "..\..\objs\nginx\html\nginx.html"
|
|
File "..\..\objs\nginx\html\favicon.ico"
|
|
File "..\..\objs\nginx\html\index.html"
|
|
SetOutPath "$INSTDIR\objs\nginx\html\live"
|
|
File "..\..\objs\nginx\html\live\livestream.html"
|
|
SetOutPath "$INSTDIR\objs\nginx\html\console"
|
|
File /r "..\..\objs\nginx\html\console\"
|
|
SetOutPath "$INSTDIR\objs\nginx\html\demos"
|
|
File /r "..\..\objs\nginx\html\demos\"
|
|
SetOutPath "$INSTDIR\objs\nginx\html\players"
|
|
File /r "..\..\objs\nginx\html\players\"
|
|
SetOutPath "$INSTDIR\objs"
|
|
File "..\..\objs\srs.exe"
|
|
File ".\srs.pid"
|
|
SetOutPath "$INSTDIR"
|
|
CreateDirectory "$SMPROGRAMS\SRS"
|
|
CreateShortCut "$SMPROGRAMS\SRS\SRS.lnk" "$INSTDIR\srs-cli.bat" "" "$INSTDIR\logo\srs-logo.ico"
|
|
CreateShortCut "$DESKTOP\SRS.lnk" "$INSTDIR\srs-cli.bat" "" "$INSTDIR\logo\srs-logo.ico"
|
|
SectionEnd
|
|
|
|
Section -AdditionalIcons
|
|
SetOutPath $INSTDIR
|
|
CreateShortCut "$SMPROGRAMS\SRS\Uninstall.lnk" "$INSTDIR\uninst.exe"
|
|
SectionEnd
|
|
|
|
Section -Post
|
|
WriteUninstaller "$INSTDIR\uninst.exe"
|
|
WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\objs\srs.exe"
|
|
WriteRegStr HKLM "${PRODUCT_INSTALL_REGKEY}" "" "$INSTDIR"
|
|
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
|
|
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
|
|
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\objs\srs.exe"
|
|
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
|
|
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
|
|
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
|
|
SectionEnd
|
|
|
|
|
|
Function un.onUninstSuccess
|
|
HideWindow
|
|
MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) is removed from your computer."
|
|
FunctionEnd
|
|
|
|
Function un.onInit
|
|
MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Uninstall $(^Name) from your computer?" IDYES +2
|
|
Abort
|
|
FunctionEnd
|
|
|
|
Section Uninstall
|
|
Delete "$INSTDIR\uninst.exe"
|
|
Delete "$INSTDIR\objs\srs.pid"
|
|
Delete "$INSTDIR\objs\srs.exe"
|
|
Delete "$INSTDIR\objs\nginx\html\nginx.html"
|
|
Delete "$INSTDIR\objs\nginx\html\live\livestream.html"
|
|
Delete "$INSTDIR\objs\nginx\html\index.html"
|
|
Delete "$INSTDIR\objs\nginx\html\favicon.ico"
|
|
Delete "$INSTDIR\objs\cygwin1.dll"
|
|
Delete "$INSTDIR\objs\cygstdc++-6.dll"
|
|
Delete "$INSTDIR\objs\cyggcc_s-seh-1.dll"
|
|
Delete "$INSTDIR\logo\srs-logo.ico"
|
|
Delete "$INSTDIR\conf\*.conf"
|
|
Delete "$INSTDIR\LICENSE"
|
|
Delete "$INSTDIR\srs-cli.bat"
|
|
Delete "$INSTDIR\srs-live.bat"
|
|
Delete "$INSTDIR\srs-rtc.bat"
|
|
|
|
Delete "$SMPROGRAMS\SRS\Uninstall.lnk"
|
|
Delete "$DESKTOP\SRS.lnk"
|
|
Delete "$SMPROGRAMS\SRS\SRS.lnk"
|
|
|
|
RMDir "$SMPROGRAMS\SRS"
|
|
RMDir /r "$INSTDIR\objs\nginx\html\players"
|
|
RMDir /r "$INSTDIR\objs\nginx\html\demos"
|
|
RMDir /r "$INSTDIR\objs\nginx\html\console"
|
|
RMDir "$INSTDIR\objs\nginx\html\live"
|
|
RMDir "$INSTDIR\objs\nginx\html"
|
|
RMDir "$INSTDIR\objs\nginx"
|
|
RMDir "$INSTDIR\objs"
|
|
RMDir "$INSTDIR\logo"
|
|
RMDir "$INSTDIR\conf"
|
|
RMDir "$INSTDIR"
|
|
|
|
DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
|
|
DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
|
|
DeleteRegKey HKLM "${PRODUCT_INSTALL_REGKEY}"
|
|
SetAutoClose true
|
|
SectionEnd |