diff --git a/indra/newview/installers/windows/installer_template.nsi b/indra/newview/installers/windows/installer_template.nsi index caebeb1d90..352b457c8b 100644 --- a/indra/newview/installers/windows/installer_template.nsi +++ b/indra/newview/installers/windows/installer_template.nsi @@ -154,6 +154,7 @@ Var SKIP_DIALOGS # Set from command line in .onInit. autoinstall GUI and # Var SKIP_AUTORUN # Skip automatic launch of the viewer after install -- Commented out: Disable autorun Var DO_UNINSTALL_V2 # If non-null, path to a previous Viewer 2 installation that will be uninstalled. Var NO_STARTMENU # Optional start menu entry +Var FRIENDLY_APP_NAME # FIRE-30446: Set FriendlyAppName for protocols # Function definitions should go before file includes, because calls to # DLLs like LangDLL trigger an implicit file include, so if that call is at @@ -450,6 +451,15 @@ ${Else} WriteRegDWORD SHELL_CONTEXT "${MSUNINSTALL_KEY}" "EstimatedSize" "0x00061800" # 390 MB ${EndIf} +# FIRE-30446: Set FriendlyAppName for protocols +${If} ${ISOPENSIM} == "1" + StrCpy $FRIENDLY_APP_NAME "${INSTNAME} $(ForOpenSimSuffix)" +${Else} + StrCpy $FRIENDLY_APP_NAME "${INSTNAME}" +${EndIf} +# + + # from FS:Ansariel WriteRegStr SHELL_CONTEXT "${MSUNINSTALL_KEY}" "DisplayIcon" '"$INSTDIR\$VIEWER_EXE"' @@ -469,18 +479,26 @@ WriteRegStr HKEY_CLASSES_ROOT "${URLNAME}\DefaultIcon" "" '"$INSTDIR\$VIEWER_EXE # URL param must be last item passed to viewer, it ignores subsequent params to avoid parameter injection attacks. # MAINT-8305: On SLURL click, directly invoke the viewer, not the launcher. WriteRegExpandStr HKEY_CLASSES_ROOT "${URLNAME}\shell\open\command" "" '"$INSTDIR\$VIEWER_EXE" -url "%1"' +# FIRE-30446: Set FriendlyAppName for protocols +WriteRegStr HKEY_CLASSES_ROOT "${URLNAME}\shell\open" "FriendlyAppName" "$FRIENDLY_APP_NAME" + WriteRegStr HKEY_CLASSES_ROOT "x-grid-location-info" "(default)" "URL:Second Life" WriteRegStr HKEY_CLASSES_ROOT "x-grid-location-info" "URL Protocol" "" WriteRegStr HKEY_CLASSES_ROOT "x-grid-location-info\DefaultIcon" "" '"$INSTDIR\$VIEWER_EXE"' # URL param must be last item passed to viewer, it ignores subsequent params to avoid parameter injection attacks. WriteRegExpandStr HKEY_CLASSES_ROOT "x-grid-location-info\shell\open\command" "" '"$INSTDIR\$VIEWER_EXE" -url "%1"' +# FIRE-30446: Set FriendlyAppName for protocols +WriteRegStr HKEY_CLASSES_ROOT "x-grid-location-info\shell\open" "FriendlyAppName" "$FRIENDLY_APP_NAME" # Register hop:// protocol registry info -WriteRegStr HKEY_CLASSES_ROOT "hop" "(default)" "URL:Second Life" -WriteRegStr HKEY_CLASSES_ROOT "hop" "URL Protocol" "" -WriteRegStr HKEY_CLASSES_ROOT "hop\DefaultIcon" "" '"$INSTDIR\$VIEWER_EXE"' -WriteRegExpandStr HKEY_CLASSES_ROOT "hop\shell\open\command" "" '"$INSTDIR\$VIEWER_EXE" -url "%1"' +${If} ${ISOPENSIM} == "1" + WriteRegStr HKEY_CLASSES_ROOT "hop" "(default)" "URL:Second Life" + WriteRegStr HKEY_CLASSES_ROOT "hop" "URL Protocol" "" + WriteRegStr HKEY_CLASSES_ROOT "hop\DefaultIcon" "" '"$INSTDIR\$VIEWER_EXE"' + WriteRegExpandStr HKEY_CLASSES_ROOT "hop\shell\open\command" "" '"$INSTDIR\$VIEWER_EXE" -url "%1"' + WriteRegStr HKEY_CLASSES_ROOT "hop\shell\open" "FriendlyAppName" "$FRIENDLY_APP_NAME" +${EndIf} # # Ask before creating protocol registry entries @@ -732,8 +750,11 @@ Push $2 Delete "$2\AppData\Roaming\Firestorm\plugin_cookies.txt" Delete "$2\AppData\Roaming\Firestorm\typed_locations.txt" # Delete files in \Users\\AppData\Local\Firestorm - RMDir /r "$2\AppData\Local\Firestorm" #Delete the Havok cache folder - RMDir /r "$2\AppData\Local\FirestormOS" #Delete the OpenSim cache folder + ${If} ${ISOPENSIM} == "0" + RMDir /r "$2\AppData\Local\Firestorm" #Delete the Havok cache folder + ${Else} + RMDir /r "$2\AppData\Local\FirestormOS" #Delete the OpenSim cache folder + ${EndIf} CONTINUE: IntOp $0 $0 + 1 @@ -806,12 +827,16 @@ NOFOLDER: MessageBox MB_YESNO $(DeleteRegistryKeysMB) IDYES DeleteKeys IDNO NoDelete DeleteKeys: - DeleteRegKey SHELL_CONTEXT "SOFTWARE\Classes\hop" # Unregister hop:// protocol registry info DeleteRegKey SHELL_CONTEXT "SOFTWARE\Classes\x-grid-location-info" DeleteRegKey SHELL_CONTEXT "SOFTWARE\Classes\secondlife" - DeleteRegKey HKEY_CLASSES_ROOT "hop" # Unregister hop:// protocol registry info DeleteRegKey HKEY_CLASSES_ROOT "x-grid-location-info" DeleteRegKey HKEY_CLASSES_ROOT "secondlife" + # Unregister hop:// protocol registry info + ${If} ${ISOPENSIM} == "1" + DeleteRegKey SHELL_CONTEXT "SOFTWARE\Classes\hop" + DeleteRegKey HKEY_CLASSES_ROOT "hop" + ${EndIf} + # NoDelete: diff --git a/indra/newview/installers/windows/lang_da.nsi b/indra/newview/installers/windows/lang_da.nsi index 8daa818030..f803b509ee 100644 Binary files a/indra/newview/installers/windows/lang_da.nsi and b/indra/newview/installers/windows/lang_da.nsi differ diff --git a/indra/newview/installers/windows/lang_de.nsi b/indra/newview/installers/windows/lang_de.nsi index 3b81a616f3..a49fb02737 100755 Binary files a/indra/newview/installers/windows/lang_de.nsi and b/indra/newview/installers/windows/lang_de.nsi differ diff --git a/indra/newview/installers/windows/lang_en-us.nsi b/indra/newview/installers/windows/lang_en-us.nsi index e1ec013626..17cd63d242 100644 Binary files a/indra/newview/installers/windows/lang_en-us.nsi and b/indra/newview/installers/windows/lang_en-us.nsi differ diff --git a/indra/newview/installers/windows/lang_es.nsi b/indra/newview/installers/windows/lang_es.nsi index c7b478a44c..9150cbf3fe 100755 Binary files a/indra/newview/installers/windows/lang_es.nsi and b/indra/newview/installers/windows/lang_es.nsi differ diff --git a/indra/newview/installers/windows/lang_fr.nsi b/indra/newview/installers/windows/lang_fr.nsi index b221b3c8be..bbe204eda7 100755 Binary files a/indra/newview/installers/windows/lang_fr.nsi and b/indra/newview/installers/windows/lang_fr.nsi differ diff --git a/indra/newview/installers/windows/lang_it.nsi b/indra/newview/installers/windows/lang_it.nsi index f18f1c9cc5..ad79c360f4 100755 Binary files a/indra/newview/installers/windows/lang_it.nsi and b/indra/newview/installers/windows/lang_it.nsi differ diff --git a/indra/newview/installers/windows/lang_ja.nsi b/indra/newview/installers/windows/lang_ja.nsi index 8b338460ea..8584327aca 100755 Binary files a/indra/newview/installers/windows/lang_ja.nsi and b/indra/newview/installers/windows/lang_ja.nsi differ diff --git a/indra/newview/installers/windows/lang_pl.nsi b/indra/newview/installers/windows/lang_pl.nsi index acbb136f6f..9ebeb052ea 100644 Binary files a/indra/newview/installers/windows/lang_pl.nsi and b/indra/newview/installers/windows/lang_pl.nsi differ diff --git a/indra/newview/installers/windows/lang_pt-br.nsi b/indra/newview/installers/windows/lang_pt-br.nsi index f53da4d6b6..aad994dfd7 100755 Binary files a/indra/newview/installers/windows/lang_pt-br.nsi and b/indra/newview/installers/windows/lang_pt-br.nsi differ diff --git a/indra/newview/installers/windows/lang_ru.nsi b/indra/newview/installers/windows/lang_ru.nsi index 8be2086b7d..e4ffe7654e 100755 Binary files a/indra/newview/installers/windows/lang_ru.nsi and b/indra/newview/installers/windows/lang_ru.nsi differ diff --git a/indra/newview/installers/windows/lang_tr.nsi b/indra/newview/installers/windows/lang_tr.nsi index 374ac85a7b..31e805a143 100755 Binary files a/indra/newview/installers/windows/lang_tr.nsi and b/indra/newview/installers/windows/lang_tr.nsi differ diff --git a/indra/newview/installers/windows/lang_zh.nsi b/indra/newview/installers/windows/lang_zh.nsi index 27e417abb6..375803e51f 100755 Binary files a/indra/newview/installers/windows/lang_zh.nsi and b/indra/newview/installers/windows/lang_zh.nsi differ diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 21e8a27044..5c3004b9f0 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -326,7 +326,13 @@ class ViewerManifest(LLManifest,FSViewerManifest): def app_name_oneword(self): return ''.join(self.app_name().split()) - + + # FIRE-30446: Set FriendlyAppName for protocol registrations + def friendly_app_name(self): + global CHANNEL_VENDOR_BASE + return CHANNEL_VENDOR_BASE + # + def icon_path(self): # Add -os for oss builds if self.fs_is_opensim(): @@ -841,6 +847,8 @@ class WindowsManifest(ViewerManifest): substitution_strings['installer_file'] = installer_file substitution_strings['is64bit'] = (1 if (self.address_size == 64) else 0) + substitution_strings['is_opensim'] = self.fs_is_opensim() # FIRE-30446: Register hop-protocol for OS version only + substitution_strings['friendly_app_name'] = self.friendly_app_name() # FIRE-30446: Set FriendlyAppName for protocol registrations version_vars = """ !define INSTEXE "SLVersionChecker.exe" @@ -862,6 +870,8 @@ class WindowsManifest(ViewerManifest): !define SHORTCUT "%(app_name)s" !define URLNAME "secondlife" !define IS64BIT "%(is64bit)d" + !define ISOPENSIM "%(is_opensim)d" + !define APPNAME "%(friendly_app_name)s" Caption "%(caption)s" """