From d73303a9f9c0156817c9a090563fbadf977495b0 Mon Sep 17 00:00:00 2001 From: jp9000 Date: Sat, 19 Nov 2016 11:02:22 -0800 Subject: [PATCH] UI: Update installer script to latest version --- UI/installer/mp-installer.nsi | 99 ++++++++++++++++++++++++++++++----- 1 file changed, 86 insertions(+), 13 deletions(-) diff --git a/UI/installer/mp-installer.nsi b/UI/installer/mp-installer.nsi index 28c2229fc..8d06c22ff 100644 --- a/UI/installer/mp-installer.nsi +++ b/UI/installer/mp-installer.nsi @@ -2,9 +2,10 @@ ; Define your application name !define APPNAME "OBS Studio" -!define APPVERSION "0.13.4" +!define APPVERSION "0.16.5" !define APPNAMEANDVERSION "OBS Studio ${APPVERSION}" -; !define BROWSER +; !define FULL +; !define REALSENSE_PLUGIN ; Additional script dependencies !include WinVer.nsh @@ -14,10 +15,10 @@ Name "${APPNAMEANDVERSION}" InstallDir "$PROGRAMFILES32\obs-studio" InstallDirRegKey HKLM "Software\${APPNAME}" "" -!ifdef BROWSER -OutFile "OBS-Studio-${APPVERSION}-With-Browser-Installer.exe" +!ifdef FULL +OutFile "OBS-Studio-${APPVERSION}-Full-Installer.exe" !else -OutFile "OBS-Studio-${APPVERSION}-Installer.exe" +OutFile "OBS-Studio-${APPVERSION}-Small-Installer.exe" !endif ; Use compression @@ -37,6 +38,9 @@ RequestExecutionLevel admin !insertmacro MUI_PAGE_WELCOME !insertmacro MUI_PAGE_LICENSE "data\obs-studio\license\gplv2.txt" !insertmacro MUI_PAGE_DIRECTORY +!ifdef FULL + !insertmacro MUI_PAGE_COMPONENTS +!endif !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_PAGE_FINISH @@ -177,14 +181,15 @@ FunctionEnd Var outputErrors -Section "OBS Studio" Section1 +Section "OBS Studio" SecCore ; Set Section properties + SectionIn RO SetOverwrite on AllowSkipFiles off - FindProcDLL::KillProc "obs-plugins\32bit\cef-bootstrap.exe" - FindProcDLL::KillProc "obs-plugins\64bit\cef-bootstrap.exe" + KillProcDLL::KillProc "obs-plugins\32bit\cef-bootstrap.exe" + KillProcDLL::KillProc "obs-plugins\64bit\cef-bootstrap.exe" SetShellVarContext all @@ -235,6 +240,62 @@ Section "OBS Studio" Section1 Call filesInUse SectionEnd +!ifdef FULL +SectionGroup /e "Plugins" SecPlugins + Section "Browser plugin" SecPlugins_Browser + ; Set Section properties + SetOverwrite on + AllowSkipFiles off + SetShellVarContext all + + SetOutPath "$INSTDIR\obs-plugins" + File /r "obs-browser\obs-plugins\32bit" + + ${if} ${RunningX64} + File /r "obs-browser\obs-plugins\64bit" + ${endif} + + SetOutPath "$INSTDIR\bin\32bit" + SectionEnd + + !ifdef REALSENSE_PLUGIN + Section /o "Realsense plugin" SecPlugins_Realsense + SetOverwrite on + AllowSkipFiles off + SetShellVarContext all + + SetOutPath "$INSTDIR\obs-plugins" + File /r "realsense\32bit" + + ${if} ${RunningX64} + File /r "realsense\64bit" + ${endif} + + SetOutPath "$INSTDIR\data\obs-plugins" + File /r "realsense\actual_data\obs-plugins\win-ivcam" + + ExecWait '"$INSTDIR\data\obs-plugins\win-ivcam\seg_service.exe" /UnregServer' + ExecWait '"$INSTDIR\data\obs-plugins\win-ivcam\seg_service.exe" /RegServer' + + ReadRegStr $0 HKLM "Software\Intel\RSSDK\Dispatch" "Core" + ${if} ${Errors} + ReadRegStr $0 HKLM "Software\Intel\RSSDK\v10\Dispatch" "Core" + ${endif} + + ${if} ${Errors} + InitPluginsDir + SetOutPath "$PLUGINSDIR\realsense" + + File "intel_rs_sdk_runtime_websetup_10.0.26.0396.exe" + ExecWait '"$PLUGINSDIR\realsense\intel_rs_sdk_runtime_websetup_10.0.26.0396.exe" --finstall=personify --fnone=all' + {endif} + + SetOutPath "$INSTDIR\bin\32bit" + SectionEnd + !endif +SectionGroupEnd +!endif + Section -FinishSection WriteRegStr HKLM "Software\${APPNAME}" "" "$INSTDIR" @@ -250,11 +311,18 @@ SectionEnd ; Modern install component descriptions !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN - !insertmacro MUI_DESCRIPTION_TEXT ${Section1} "" + !insertmacro MUI_DESCRIPTION_TEXT ${SecCore} "Core OBS Studio files" + !ifdef FULL + !insertmacro MUI_DESCRIPTION_TEXT ${SecPlugins} "Optional Plugins" + !insertmacro MUI_DESCRIPTION_TEXT ${SecPlugins_Browser} "Browser plugin (a source you can add to your scenes that displays web pages)" + !ifdef REALSENSE_PLUGIN + !insertmacro MUI_DESCRIPTION_TEXT ${SecPlugins_Realsense} "Plugin for Realsense cameras" + !endif + !endif !insertmacro MUI_FUNCTION_DESCRIPTION_END ;Uninstall section -Section "un.obs-studio Program Files" +Section "un.obs-studio Program Files" UninstallSection1 SectionIn RO @@ -273,6 +341,11 @@ Section "un.obs-studio Program Files" Delete "$SMPROGRAMS\OBS Studio\OBS Studio (64bit).lnk" ${endif} + IfFileExists "$INSTDIR\data\obs-plugins\win-ivcam\seg_service.exe" UnregisterSegService SkipUnreg + UnregisterSegService: + ExecWait '"$INSTDIR\data\obs-plugins\win-ivcam\seg_service.exe" /UnregServer' + SkipUnreg: + ; Clean up OBS Studio RMDir /r "$INSTDIR\bin" RMDir /r "$INSTDIR\data" @@ -284,13 +357,13 @@ Section "un.obs-studio Program Files" RMDir "$INSTDIR\OBS Studio" SectionEnd -Section /o "un.User Settings" Section2 +Section /o "un.User Settings" UninstallSection2 RMDir /R "$APPDATA\obs-studio" SectionEnd !insertmacro MUI_UNFUNCTION_DESCRIPTION_BEGIN - !insertmacro MUI_DESCRIPTION_TEXT ${Section1} "Remove the OBS program files." - !insertmacro MUI_DESCRIPTION_TEXT ${Section2} "Removes all settings, plugins, scenes and sources, profiles, log files and other application data." + !insertmacro MUI_DESCRIPTION_TEXT ${UninstallSection1} "Remove the OBS program files." + !insertmacro MUI_DESCRIPTION_TEXT ${UninstallSection2} "Removes all settings, plugins, scenes and sources, profiles, log files and other application data." !insertmacro MUI_UNFUNCTION_DESCRIPTION_END ; Version information