diff options
author | Nat Goodspeed <nat@lindenlab.com> | 2017-06-26 09:15:01 -0400 |
---|---|---|
committer | Nat Goodspeed <nat@lindenlab.com> | 2017-06-26 09:15:01 -0400 |
commit | b3c506bc68ea64d9e296d2be94380cd93b0c49c4 (patch) | |
tree | 124e18d687e69d99f1983a0ee8b39d7813f7613b /indra/newview/installers/windows/installer_template.nsi | |
parent | 6bcbee332827d4f341dab8f48ce929e07a8e6b22 (diff) |
MAINT-7514: Add (32) or (64) to registry for "install again?" prompt.
Specifically, append (32) or (64) to the four-part version number stored in
the registry entry used to detect whether this viewer has already been
installed. This is injected as a new VERSION_REGISTRY NSIS variable.
(It was tempting to simply change the value of VERSION_LONG with the embedded
address size. However, there is one other use of VERSION_LONG in the NSIS
template. That use is the subject of MAINT-7533.)
Synthesize the VERSION_REGISTRY value in viewer_manifest.py and add it to the
substitution dict used to populate the NSIS template.
ADDRESS_SIZE isn't passed into viewer_manifest.py, but it can be inferred from
the existing 'arch' parameter: 'arch' as well as 'platform' is used to select
the specific subclass of the ViewerManifest class to instantiate for this run.
Add an appropriate address_size attribute to every such subclass.
Change a couple existing tests on 'arch' to tests on self.address_size instead
-- clearer to the maintainer.
Also, given that subclass selection mechanism, the ViewerManifest base class
shouldn't need if / elif tests on 'platform'. Make build_data_json_platform a
class attribute as well, removing the base-class stanza that dynamically
examines 'platform' and 'arch'.
Similarly, move platform-specific tweaks to the build_data_dict used to
populate build_data.json into a new finish_build_data_dict() method overridden
by individual platform subclasses.
Encapsulate the logic around running the Windows code-signing tool into a
sign() method, and call it as needed. For obtaining environment variables with
fallback values, use os.environ.get() instead of os.path.expandvars() with
tests on the returned value.
Diffstat (limited to 'indra/newview/installers/windows/installer_template.nsi')
-rw-r--r-- | indra/newview/installers/windows/installer_template.nsi | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/indra/newview/installers/windows/installer_template.nsi b/indra/newview/installers/windows/installer_template.nsi index 0481c029ac..f5b2de4fdc 100644 --- a/indra/newview/installers/windows/installer_template.nsi +++ b/indra/newview/installers/windows/installer_template.nsi @@ -331,7 +331,7 @@ FileClose $9 # Write registry
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "" "$INSTDIR"
-WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "Version" "${VERSION_LONG}"
+WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "Version" "${VERSION_REGISTRY}"
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "Shortcut" "$INSTSHORTCUT"
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "Exe" "$INSTEXE"
WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\$INSTPROG" "Publisher" "Linden Research, Inc."
@@ -340,7 +340,7 @@ WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninst WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\$INSTPROG" "HelpLink" "https://support.secondlife.com/contact-support/"
WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\$INSTPROG" "DisplayName" "$INSTPROG"
WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\$INSTPROG" "UninstallString" '"$INSTDIR\uninst.exe"'
-WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\$INSTPROG" "DisplayVersion" "${VERSION_LONG}"
+WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\$INSTPROG" "DisplayVersion" "${VERSION_REGISTRY}"
WriteRegDWORD HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\$INSTPROG" "EstimatedSize" "0x0001D500" # ~117 MB
# from FS:Ansariel
@@ -458,7 +458,7 @@ FunctionEnd Function CheckIfAlreadyCurrent
Push $0
ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "Version"
- StrCmp $0 ${VERSION_LONG} 0 continue_install
+ StrCmp $0 ${VERSION_REGISTRY} 0 continue_install
StrCmp $SKIP_DIALOGS "true" continue_install
MessageBox MB_OKCANCEL $(CheckIfCurrentMB) /SD IDOK IDOK continue_install
Quit
|