- Participants
-
- Loading...
- Parent
- 9f38d88
- Branches
Commits
/ ec3f3bb
Ryan Williams
committed
(raw commit)
SL-33966: Viewer installed files are not described in a centralized source
This introduces the viewer_manifest.py and associated libraries. Check out https://osiris.lindenlab.com/mediawiki/index.php/Installer_Manifest for some more information.
The gist of it is that all files to be included in the viewer installations are described in viewer_manifest.py. viewer_manifest.py also acts as a packager, if you give it the right options. All of the old methods of packaging (Makefile_Mac, scons, and the various .bat files) still work, but they are mostly just shells for calls to viewer_manifest.py.
You're now required to have python 2.3 or later on your machine to be able to package up an installer, but thankfully most people already have this.
indra/newview/installers/windows/installer_template.nsi
+!define "NSIS${NSIS_VERSION}"+Name ${INSTNAME}+LicenseText "This package will update Second Life to version ${VERSION_LONG}." "Next >"+InstallDir "$PROGRAMFILES\${INSTNAME}"+InstallDirRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\${INSTNAME}" ""+StrCpy $INSTFLAGS "${INSTFLAGS}"+StrCpy $INSTPROG "${INSTNAME}"+StrCpy $INSTEXE "${INSTEXE}"+StrCpy $INSTSHORTCUT "${SHORTCUT}"+WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "Version" "${VERSION_LONG}"+WriteRegStr HKEY_CLASSES_ROOT "${URLNAME}" "(default)" "URL:Second Life"+WriteRegStr HKEY_CLASSES_ROOT "${URLNAME}" "URL Protocol" ""+WriteRegStr HKEY_CLASSES_ROOT "${URLNAME}\DefaultIcon" "" '"$INSTDIR\$INSTEXE"'+WriteRegExpandStr HKEY_CLASSES_ROOT "${URLNAME}\shell\open\command" "" '"$INSTDIR\$INSTEXE" $INSTFLAGS -url "%1"'+ StrCmp $0 ${VERSION_LONG} 0 DONE+ MessageBox MB_OKCANCEL "It appears that Second Life ${VERSION_LONG} is already installed.$\n$\nWould you like to install it again?" /SD IDOK IDOK DONE+UninstallText "This will uninstall Second Life ${VERSION_LONG} from your system."+StrCpy $INSTFLAGS "${FARMFLAG}"+StrCpy $INSTPROG "${INSTNAME}"+StrCpy $INSTEXE "${INSTEXE}"+StrCpy $INSTSHORTCUT "${SHORTCUT}"+ Push '${SWITCH}"'+ Strlen $1 "${SWITCH}"+ Push "${SWITCH}"+ Strlen $1 "${SWITCH}"+ StrCpy $0 "${DEFAULT}"+; Possible upgrade switch the goto's to use ${__LINE__}