From 568a86bc31798110ca5e752eef852be73d7cd992 Mon Sep 17 00:00:00 2001 From: Michael Fabian 'Xaymar' Dirks Date: Tue, 20 Sep 2022 00:47:20 +0200 Subject: [PATCH] templates/windows/installer: Don't offer path selection for System & User mode The location for System-wide and User-only installation depend on Windows-managed locations, which means that they will never require a user to select the correct location. Therefore it is best to hide the page in all modes except for Portable, which should still offer a path to extract to. --- templates/windows/installer.iss.in | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/templates/windows/installer.iss.in b/templates/windows/installer.iss.in index 2cfd9103e8..3f7f20dce2 100644 --- a/templates/windows/installer.iss.in +++ b/templates/windows/installer.iss.in @@ -183,6 +183,9 @@ end; function ShouldSkipPage(PageID: Integer): Boolean; begin Result := False; + if (PageID = wpSelectDir) then begin + Result := not IsPortableMode(); + end; end; // ------------------------------------------------------------------------------------------------------------------ // @@ -220,27 +223,21 @@ function GetDefaultDirectory(Value: String): String; var sPath: String; begin - // If a path was given as an argument, use it. - if (Value <> '') then begin - Result := Value; - exit; - end; - - // Otherwise, try and figure out where the previous installation of the same type went to. - if (RegQueryStringValue(HKA64, AppRegistryKey(), 'InstallLocation', sPath)) then begin - Result := sPath; - exit; - end; - // In all other cases, change depending on the chosen install method. if (IsSystemMode()) then begin // Default to ProgramData/obs-studio/@PROJECT_NAME@ Result := ExpandConstant('{commonappdata}\obs-studio\plugins\@PROJECT_NAME@'); - end else begin - Result := ExpandConstant('{userpf}\obs-studio\plugins\@PROJECT_NAME@') - end; + end else if (IsUserMode()) then begin + Result := ExpandConstant('{userpf}\obs-studio\plugins\@PROJECT_NAME@'); + end else begin + // If a path was given as an argument, use it. + if (Value <> '') then begin + Result := Value; + exit; + end; - exit; + Result := ExpandConstant('{userdesktop}\obs-studio'); + end; end; // ------------------------------------------------------------------------------------------------------------------ //