From 67c7cfecb1ac31204c72f81e8cc4e73de75a9dc0 Mon Sep 17 00:00:00 2001 From: derrod Date: Fri, 24 Mar 2023 19:20:40 +0100 Subject: [PATCH] UI: Remove outdated NSIS data --- UI/installer/OBSBanner.bmp | Bin 206038 -> 0 bytes UI/installer/OBSHeader.bmp | Bin 34254 -> 0 bytes UI/installer/mp-installer.nsi | 501 ---------------------------------- 3 files changed, 501 deletions(-) delete mode 100644 UI/installer/OBSBanner.bmp delete mode 100644 UI/installer/OBSHeader.bmp delete mode 100644 UI/installer/mp-installer.nsi diff --git a/UI/installer/OBSBanner.bmp b/UI/installer/OBSBanner.bmp deleted file mode 100644 index b1c01c6b78d00dd0394457baa7dbbaf6795384eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 206038 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 diff --git a/UI/installer/mp-installer.nsi b/UI/installer/mp-installer.nsi deleted file mode 100644 index df34f8c38..000000000 --- a/UI/installer/mp-installer.nsi +++ /dev/null @@ -1,501 +0,0 @@ -; -; NSIS Installer Script for OBS Studio, https://obsproject.com/ -; -; This installer script is designed only for the release process -; of OBS Studio. It requires a lot of files to be in exactly the -; right places. If you're making a fork, it's strongly suggested -; that you make your own installer. -; -; If you choose to use this script anyway, be absolutely sure you -; have replaced every OBS specific check, whether process names, -; application names, files, registry entries, etc. -; -; To auto-install required Visual C++ components, download from -; https://support.microsoft.com/en-us/topic/the-latest-supported-visual-c-downloads-2647da03-1eea-4433-9aff-95f26a218cc0 -; and copy to this directory (UI/installer/) -; -; This script also requires OBSInstallerUtils for additional -; functions. You can find it at -; https://github.com/notr1ch/OBSInstallerUtils - -Unicode true -ManifestDPIAware true - -; Define your application name -!define APPNAME "OBS Studio" - -!ifndef APPVERSION -!define APPVERSION "28.0.0" -!define SHORTVERSION "28.0.0" -!endif - -!define APPNAMEANDVERSION "${APPNAME} ${SHORTVERSION}" - -; Additional script dependencies -!include WinVer.nsh -!include x64.nsh - -; Main Install settings -Name "${APPNAMEANDVERSION}" -!ifdef INSTALL64 -InstallDir "$PROGRAMFILES64\obs-studio" -!else -InstallDir "$PROGRAMFILES32\obs-studio" -!endif -InstallDirRegKey HKLM "Software\${APPNAME}" "" - -!ifdef INSTALL64 - OutFile "OBS-Studio-${SHORTVERSION}-Full-Installer-x64.exe" -!else - OutFile "OBS-Studio-${SHORTVERSION}-Full-Installer-x86.exe" -!endif - -; Use compression -SetCompressor /SOLID LZMA - -; Need Admin -RequestExecutionLevel admin - -; Modern interface settings -!include "MUI.nsh" - -!define MUI_ICON "..\..\cmake\winrc\obs-studio.ico" -!define MUI_HEADERIMAGE_BITMAP "OBSHeader.bmp" -!define MUI_WELCOMEFINISHPAGE_BITMAP "OBSBanner.bmp" - -!define MUI_ABORTWARNING -!define MUI_FINISHPAGE_TITLE "Completed Setup" -!define MUI_FINISHPAGE_RUN -!define MUI_FINISHPAGE_RUN_TEXT "Launch ${APPNAMEANDVERSION}" -!define MUI_FINISHPAGE_RUN_FUNCTION "LaunchOBS" -!define MUI_FINISHPAGE_SHOWREADME "https://github.com/obsproject/obs-studio/releases/${APPVERSION}" -!define MUI_FINISHPAGE_SHOWREADME_TEXT "View Release Notes" -!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED -!define MUI_FINISHPAGE_LINK "New to OBS? Check out our 4-step Quickstart Guide." -!define MUI_FINISHPAGE_LINK_LOCATION "https://obsproject.com/wiki/OBS-Studio-Quickstart" -!define MUI_FINISHPAGE_LINK_COLOR 000080 - -!define MUI_WELCOMEPAGE_TEXT "This setup will guide you through installing OBS Studio.\n\nIt is recommended that you close all other applications before starting, including OBS Studio. This will make it possible to update relevant files without having to reboot your computer.\n\nClick Next to continue." - -!define MUI_PAGE_CUSTOMFUNCTION_LEAVE PreReqCheck - -!define MUI_HEADERIMAGE -!define MUI_PAGE_HEADER_TEXT "License Information" -!define MUI_PAGE_HEADER_SUBTEXT "Please review the license terms before installing OBS Studio." -!define MUI_LICENSEPAGE_TEXT_TOP "Press Page Down or scroll to see the rest of the license." -!define MUI_LICENSEPAGE_TEXT_BOTTOM " " -!define MUI_LICENSEPAGE_BUTTON "&Next >" - -!insertmacro MUI_PAGE_WELCOME -!insertmacro MUI_PAGE_LICENSE "new\core\data\obs-studio\license\gplv2.txt" -!insertmacro MUI_PAGE_DIRECTORY -!insertmacro MUI_PAGE_INSTFILES -!insertmacro MUI_PAGE_FINISH - -!define MUI_COMPONENTSPAGE_TEXT_TOP "Check the components you want to uninstall. Keeping Settings unchecked is recommended." -!define MUI_COMPONENTSPAGE_TEXT_COMPLIST "Select components:" - -;!insertmacro MUI_UNPAGE_CONFIRM -!insertmacro MUI_UNPAGE_COMPONENTS -!insertmacro MUI_UNPAGE_INSTFILES - -; Set languages (first is default language) -!insertmacro MUI_LANGUAGE "English" -!insertmacro MUI_RESERVEFILE_LANGDLL - -Function PreReqCheck -!ifdef INSTALL64 - ${if} ${RunningX64} - ${Else} - IfSilent +1 +3 - SetErrorLevel 3 - Quit - MessageBox MB_OK|MB_ICONSTOP "${APPNAME} is not compatible with your operating system's architecture." - ${EndIf} - ; Abort on 8.1 or lower -!endif - - ${If} ${AtLeastWin10} - ${Else} - IfSilent +1 +3 - SetErrorLevel 3 - Quit - MessageBox MB_OK|MB_ICONSTOP "${APPNAME} requires Windows 10 or higher and cannot be installed on this version of Windows." - Quit - ${EndIf} - - ; DirectX Version Check - ClearErrors - GetDLLVersion "D3DCompiler_33.dll" $R0 $R1 - IfErrors dxMissing33 dxOK - dxMissing33: - ClearErrors - GetDLLVersion "D3DCompiler_34.dll" $R0 $R1 - IfErrors dxMissing34 dxOK - dxMissing34: - ClearErrors - GetDLLVersion "D3DCompiler_35.dll" $R0 $R1 - IfErrors dxMissing35 dxOK - dxMissing35: - ClearErrors - GetDLLVersion "D3DCompiler_36.dll" $R0 $R1 - IfErrors dxMissing36 dxOK - dxMissing36: - ClearErrors - GetDLLVersion "D3DCompiler_37.dll" $R0 $R1 - IfErrors dxMissing37 dxOK - dxMissing37: - ClearErrors - GetDLLVersion "D3DCompiler_38.dll" $R0 $R1 - IfErrors dxMissing38 dxOK - dxMissing38: - ClearErrors - GetDLLVersion "D3DCompiler_39.dll" $R0 $R1 - IfErrors dxMissing39 dxOK - dxMissing39: - ClearErrors - GetDLLVersion "D3DCompiler_40.dll" $R0 $R1 - IfErrors dxMissing40 dxOK - dxMissing40: - ClearErrors - GetDLLVersion "D3DCompiler_41.dll" $R0 $R1 - IfErrors dxMissing41 dxOK - dxMissing41: - ClearErrors - GetDLLVersion "D3DCompiler_42.dll" $R0 $R1 - IfErrors dxMissing42 dxOK - dxMissing42: - ClearErrors - GetDLLVersion "D3DCompiler_43.dll" $R0 $R1 - IfErrors dxMissing43 dxOK - dxMissing43: - ClearErrors - GetDLLVersion "D3DCompiler_47.dll" $R0 $R1 - IfErrors dxMissing47 dxOK - dxMissing47: - ClearErrors - GetDLLVersion "D3DCompiler_49.dll" $R0 $R1 - IfErrors dxMissing49 dxOK - dxMissing49: - IfSilent +1 +3 - SetErrorLevel 4 - Quit - MessageBox MB_YESNO|MB_ICONEXCLAMATION "Your system is missing DirectX components that ${APPNAME} requires. Would you like to download them?" IDYES dxtrue IDNO dxfalse - dxtrue: - ExecShell "open" "https://obsproject.com/go/dxwebsetup" - dxfalse: - Quit - dxOK: - ClearErrors - - ; Check previous instance - check32BitRunning: - OBSInstallerUtils::IsProcessRunning "obs32.exe" - IntCmp $R0 1 0 notRunning1 - IfSilent +1 +3 - SetErrorLevel 5 - Quit - MessageBox MB_RETRYCANCEL|MB_ICONEXCLAMATION "${APPNAME} is already running. Please close it first before installing a new version." /SD IDCANCEL IDRETRY check32BitRunning - Quit - notRunning1: - - ${if} ${RunningX64} - check64BitRunning: - OBSInstallerUtils::IsProcessRunning "obs64.exe" - IntCmp $R0 1 0 notRunning2 - IfSilent +1 +3 - SetErrorLevel 5 - Quit - MessageBox MB_RETRYCANCEL|MB_ICONEXCLAMATION "${APPNAME} is already running. Please close it first before installing a new version." /SD IDCANCEL IDRETRY check64BitRunning - Quit - notRunning2: - ${endif} -FunctionEnd - -Var dllFilesInUse - -Function checkDLLs - OBSInstallerUtils::ResetInUseFileChecks -!ifdef INSTALL64 - OBSInstallerUtils::AddInUseFileCheck "$INSTDIR\bin\64bit\avutil-57.dll" - OBSInstallerUtils::AddInUseFileCheck "$INSTDIR\bin\64bit\swscale-6.dll" -!else - OBSInstallerUtils::AddInUseFileCheck "$INSTDIR\bin\32bit\avutil-57.dll" - OBSInstallerUtils::AddInUseFileCheck "$INSTDIR\bin\32bit\swscale-6.dll" -!endif - OBSInstallerUtils::AddInUseFileCheck "$INSTDIR\data\obs-plugins\win-capture\graphics-hook32.dll" - OBSInstallerUtils::AddInUseFileCheck "$INSTDIR\data\obs-plugins\win-capture\graphics-hook64.dll" - OBSInstallerUtils::AddInUseFileCheck "$INSTDIR\data\obs-plugins\win-dshow\obs-virtualcam-module32.dll" - OBSInstallerUtils::AddInUseFileCheck "$INSTDIR\data\obs-plugins\win-dshow\obs-virtualcam-module64.dll" - OBSInstallerUtils::AddInUseFileCheck "$APPDATA\obs-studio-hook\graphics-hook32.dll" - OBSInstallerUtils::AddInUseFileCheck "$APPDATA\obs-studio-hook\graphics-hook64.dll" - OBSInstallerUtils::GetAppNameForInUseFiles - StrCpy $dllFilesInUse "$R0" -FunctionEnd - -Function checkFilesInUse - retryFileChecks: - Call checkDLLs - StrCmp $dllFilesInUse "" dllsNotInUse - IfSilent +1 +3 - SetErrorLevel 6 - Quit - MessageBox MB_RETRYCANCEL|MB_ICONEXCLAMATION "OBS files are being used by the following applications:$\r$\n$\r$\n$dllFilesInUse$\r$\nPlease close these applications to continue setup." /SD IDCANCEL IDRETRY retryFileChecks - Quit - - dllsNotInUse: -FunctionEnd - -Function LaunchOBS -!ifdef INSTALL64 - Exec '"$WINDIR\explorer.exe" "$SMPROGRAMS\OBS Studio\OBS Studio (64bit).lnk"' -!else - Exec '"$WINDIR\explorer.exe" "$SMPROGRAMS\OBS Studio\OBS Studio (32bit).lnk"' -!endif -FunctionEnd - -Section "OBS Studio" SecCore - SetShellVarContext all - - Call checkFilesInUse - - ; Set Section properties - SectionIn RO - SetOverwrite on - AllowSkipFiles off - - ; Set Section Files and Shortcuts - SetOutPath "$INSTDIR" - - File /r "new\core\data" - -!ifdef INSTALL64 - SetOutPath "$INSTDIR\bin" - File /r "new\core\bin\64bit" - SetOutPath "$INSTDIR\obs-plugins" - File /r "new\core\obs-plugins\64bit" -!else - SetOutPath "$INSTDIR\bin" - File /r "new\core\bin\32bit" - SetOutPath "$INSTDIR\obs-plugins" - File /r "new\core\obs-plugins\32bit" -!endif - -!ifdef INSTALL64 - ; 64 bit Visual Studio 2019 runtime check - ClearErrors - SetOutPath "$PLUGINSDIR" - File check_for_64bit_visual_studio_2019_runtimes.exe - ExecWait "$PLUGINSDIR\check_for_64bit_visual_studio_2019_runtimes.exe" $R0 - Delete "$PLUGINSDIR\check_for_64bit_visual_studio_2019_runtimes.exe" - IntCmp $R0 126 vs2019Missing_64 vs2019OK_64 - vs2019Missing_64: - File VC_redist.x64.exe - ExecWait '"$PLUGINSDIR\VC_redist.x64.exe" /quiet /norestart' - Delete "$PLUGINSDIR\VC_redist.x64.exe" - vs2019OK_64: - ClearErrors -!else - ; 32 bit Visual Studio 2019 runtime check - ClearErrors - SetOutPath "$PLUGINSDIR" - GetDLLVersion "vcruntime140.DLL" $R0 $R1 - GetDLLVersion "msvcp140.DLL" $R0 $R1 - GetDLLVersion "msvcp140_1.DLL" $R0 $R1 - IfErrors vs2019Missing_32 vs2019OK_32 - vs2019Missing_32: - File VC_redist.x86.exe - ExecWait '"$PLUGINSDIR\VC_redist.x86.exe" /quiet /norestart' - Delete "$PLUGINSDIR\VC_redist.x86.exe" - vs2019OK_32: - ClearErrors -!endif - - # ---------------------------- - - SetShellVarContext all - - SetOutPath "$INSTDIR" - File /r "new\obs-browser\data" - SetOutPath "$INSTDIR\obs-plugins" - OBSInstallerUtils::KillProcess "32bit\obs-browser-page.exe" - ${if} ${RunningX64} - OBSInstallerUtils::KillProcess "64bit\obs-browser-page.exe" - ${endif} -!ifdef INSTALL64 - File /r "new\obs-browser\obs-plugins\64bit" - SetOutPath "$INSTDIR\bin\64bit" -!else - File /r "new\obs-browser\obs-plugins\32bit" - SetOutPath "$INSTDIR\bin\32bit" -!endif - - # ---------------------------- - # Copy game capture files to ProgramData - SetOutPath "$APPDATA\obs-studio-hook" - File "new\core\data\obs-plugins\win-capture\graphics-hook32.dll" - File "new\core\data\obs-plugins\win-capture\graphics-hook64.dll" - File "new\core\data\obs-plugins\win-capture\obs-vulkan32.json" - File "new\core\data\obs-plugins\win-capture\obs-vulkan64.json" - OBSInstallerUtils::AddAllApplicationPackages "$APPDATA\obs-studio-hook" - - WriteUninstaller "$INSTDIR\uninstall.exe" - -!ifdef INSTALL64 - SetOutPath "$INSTDIR\bin\64bit" - CreateShortCut "$DESKTOP\OBS Studio.lnk" "$INSTDIR\bin\64bit\obs64.exe" -!else - SetOutPath "$INSTDIR\bin\32bit" - CreateShortCut "$DESKTOP\OBS Studio.lnk" "$INSTDIR\bin\32bit\obs32.exe" -!endif - - CreateDirectory "$SMPROGRAMS\OBS Studio" - -!ifdef INSTALL64 - SetOutPath "$INSTDIR\bin\64bit" - CreateShortCut "$SMPROGRAMS\OBS Studio\OBS Studio (64bit).lnk" "$INSTDIR\bin\64bit\obs64.exe" -!else - SetOutPath "$INSTDIR\bin\32bit" - CreateDirectory "$SMPROGRAMS\OBS Studio" - CreateShortCut "$SMPROGRAMS\OBS Studio\OBS Studio (32bit).lnk" "$INSTDIR\bin\32bit\obs32.exe" -!endif - - CreateShortCut "$SMPROGRAMS\OBS Studio\Uninstall.lnk" "$INSTDIR\uninstall.exe" -SectionEnd - -Section -FinishSection - - SetShellVarContext all - - # --------------------------------------- - # 64bit vulkan hook registry stuff - - ${if} ${RunningX64} - SetRegView 64 - WriteRegStr HKLM "Software\${APPNAME}" "" "$INSTDIR" - - ClearErrors - DeleteRegValue HKCU "Software\Khronos\Vulkan\ImplicitLayers" "$APPDATA\obs-studio-hook\obs-vulkan64.json" - ClearErrors - WriteRegDWORD HKLM "Software\Khronos\Vulkan\ImplicitLayers" "$APPDATA\obs-studio-hook\obs-vulkan64.json" 0 - ${endif} - - # --------------------------------------- - # 32bit vulkan hook registry stuff - - SetRegView 32 - WriteRegStr HKLM "Software\${APPNAME}" "" "$INSTDIR" - - ClearErrors - DeleteRegValue HKCU "Software\Khronos\Vulkan\ImplicitLayers" "$APPDATA\obs-studio-hook\obs-vulkan32.json" - ClearErrors - WriteRegDWORD HKLM "Software\Khronos\Vulkan\ImplicitLayers" "$APPDATA\obs-studio-hook\obs-vulkan32.json" 0 - - # --------------------------------------- - # Register virtual camera dlls - - Exec '"$SYSDIR\regsvr32.exe" /s "$INSTDIR\data\obs-plugins\win-dshow\obs-virtualcam-module32.dll"' - ${if} ${RunningX64} - Exec '"$SYSDIR\regsvr32.exe" /s "$INSTDIR\data\obs-plugins\win-dshow\obs-virtualcam-module64.dll"' - ${endif} - - # --------------------------------------- - - ClearErrors - SetRegView default - - WriteRegStr HKLM "Software\${APPNAME}" "" "$INSTDIR" - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "DisplayName" "${APPNAME}" - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "UninstallString" "$\"$INSTDIR\uninstall.exe$\"" - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "ProductID" "d16d2409-3151-4331-a9b1-dfd8cf3f0d9c" -!ifdef INSTALL64 - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "DisplayIcon" "$INSTDIR\bin\64bit\obs64.exe" -!else - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "DisplayIcon" "$INSTDIR\bin\32bit\obs32.exe" -!endif - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "Publisher" "OBS Project" - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "HelpLink" "https://obsproject.com" - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "DisplayVersion" "${APPVERSION}" - -SectionEnd - -; Modern install component descriptions -!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN - !insertmacro MUI_DESCRIPTION_TEXT ${SecCore} "Core OBS Studio files" -!insertmacro MUI_FUNCTION_DESCRIPTION_END - -;Uninstall section -Section "un.${APPNAME} App Files" UninstallSection1 - - SectionIn RO - - ; Remove hook files and vulkan registry - SetShellVarContext all - - RMDir /r "$APPDATA\obs-studio-hook" - - SetRegView 32 - DeleteRegValue HKCU "Software\Khronos\Vulkan\ImplicitLayers" "$APPDATA\obs-studio-hook\obs-vulkan32.json" - DeleteRegValue HKLM "Software\Khronos\Vulkan\ImplicitLayers" "$APPDATA\obs-studio-hook\obs-vulkan32.json" - ${if} ${RunningX64} - SetRegView 64 - DeleteRegValue HKCU "Software\Khronos\Vulkan\ImplicitLayers" "$APPDATA\obs-studio-hook\obs-vulkan64.json" - DeleteRegValue HKLM "Software\Khronos\Vulkan\ImplicitLayers" "$APPDATA\obs-studio-hook\obs-vulkan64.json" - ${endif} - SetRegView default - SetShellVarContext current - ClearErrors - - ; Unregister virtual camera dlls - Exec '"$SYSDIR\regsvr32.exe" /u /s "$INSTDIR\data\obs-plugins\win-dshow\obs-virtualcam-module32.dll"' - ${if} ${RunningX64} - Exec '"$SYSDIR\regsvr32.exe" /u /s "$INSTDIR\data\obs-plugins\win-dshow\obs-virtualcam-module64.dll"' - ${endif} - - ; Remove from registry... - DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" - DeleteRegKey HKLM "SOFTWARE\${APPNAME}" - - ; Delete self - Delete "$INSTDIR\uninstall.exe" - - ; Delete Shortcuts - SetShellVarContext all - Delete "$DESKTOP\OBS Studio.lnk" - Delete "$SMPROGRAMS\OBS Studio\OBS Studio (32bit).lnk" - Delete "$SMPROGRAMS\OBS Studio\Uninstall.lnk" - ${if} ${RunningX64} - Delete "$SMPROGRAMS\OBS Studio\OBS Studio (64bit).lnk" - ${endif} - SetShellVarContext current - - ; Clean up OBS Studio - RMDir /r "$INSTDIR\bin" - RMDir /r "$INSTDIR\data" - RMDir /r "$INSTDIR\obs-plugins" - RMDir "$INSTDIR" - - ; Remove remaining directories - RMDir "$SMPROGRAMS\OBS Studio" - RMDir "$INSTDIR\OBS Studio" -SectionEnd - -Section /o "un.Settings, Scenes, etc." UninstallSection2 - RMDir /r "$APPDATA\obs-studio" -SectionEnd - -!insertmacro MUI_UNFUNCTION_DESCRIPTION_BEGIN - !insertmacro MUI_DESCRIPTION_TEXT ${UninstallSection1} "Remove the OBS program files." - !insertmacro MUI_DESCRIPTION_TEXT ${UninstallSection2} "Removes all settings, scenes, sources, profiles, log files, and other application data.$\r$\n$\r$\nTHIS CANNOT BE UNDONE." -!insertmacro MUI_UNFUNCTION_DESCRIPTION_END - -; Version information -VIProductVersion "${APPVERSION}.0" -VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "${APPNAME}" -VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "OBS Project" -VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "(C) 2012-2021" -; FileDescription is what shows in the UAC elevation prompt when signed -VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "${APPNAME} Installer" -VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "${APPVERSION}" - -; eof