summaryrefslogtreecommitdiff
path: root/indra/newview/installers/windows/installer_template.nsi
AgeCommit message (Collapse)Author
2022-06-20SL-17585 Don't bother users with dialogs if we are already quitingAndrey Kleshchev
2022-06-17SL-17585 Ensure nothing went wrong with installation during 'File' operationsAndrey Kleshchev
2022-06-17SL-17585 Crash at LLAppViewer::initConfigurationAndrey Kleshchev
2022-01-31SL-16681 Better handling of locked files by NSIS InstallerAndrey Kleshchev
1. When SL window closes it doesn't mean that process died so gave it a bit more time to terminate 2. Added a retry logic in case first run happened too early for some reason 3. Replaced ok/cancel on locked file with abort/retry/ignorei
2021-10-25SL-16121 Fix viewer not cleaning up obsolete plugin modules on installAndrey Kleshchev
2019-04-23SL-10936 Mark updater as unpinnable and make viewer pinnableandreykproductengine
2019-03-01Merged in lindenlab/viewer-releaseAndreyL ProductEngine
2019-02-11SL-10506: Try again to attain desired behavior.Nat Goodspeed
2019-02-09SL-10506: Disregard any previous installation. Start from scratch.Nat Goodspeed
2019-02-06SL-10469: Remove old-shortcut cleanup cruft: only works for Admin.Nat Goodspeed
The installer is (once again) running with Admin privilege elevation even for a Standard Windows user, so it can't determine the underlying Standard user. Therefore it can't clean up any per-user shortcuts left over for that Standard user. Moved the kludge to SLVersionChecker.
2019-02-06SL-10469: Add diagnostic popup when trying to delete old shortcuts.Nat Goodspeed
2019-02-05SL-10469: Remove any similar shortcuts for old per-user install.Nat Goodspeed
2019-02-02SL-10396: Disable per-user installs: require Admin for all-users.Nat Goodspeed
2018-12-10INTL-318: Stop processing Danish and Polish language files.Nat Goodspeed
2018-12-03SL-10152 Uninstaller's offers to delete remaining files is problematicandreykproductengine
2018-11-21SL-10077: Save correct uninstall directory and (un)install mode.Nat Goodspeed
Curiously, the value of $INSTDIR is correct before MULTIUSER_UNINIT, but is made incorrect by MULTIUSER_UNINIT. Save and restore the correct value. Saving $MultiUser.InstallMode in the registry (by setting relevant macros examined by MultiUser.nsh) is susceptible to overwriting if the user installs multiple viewers with the same channel name. Instead, write an InstallMode.txt in the install directory, and read it back on uninstall. Of course, add it to the files to be deleted on uninstall.
2018-11-21DRTVWR-447: Fix longstanding NSIS warning about unused label.Nat Goodspeed
2018-11-15SL-10010: Use trunk NSIS + Unicode attrib, instead of Unicode fork.Nat Goodspeed
Back out misguided attempt to overwrite $PROGRAMFILES with $PROGRAMFILES64.
2018-11-15SL-10010: Use c:\Program Files rather than c:\Program Files (x86)Nat Goodspeed
for 64-bit viewers. It seems there's a longstanding bug in NSIS: it fails to use $PROGRAMFILES64 rather than $PROGRAMFILES when performing an all-users install of a 64-bit program. Try to remedy that. Also pick up a few NSIS suggestions from Ansariel Hiller.
2018-11-02DRTVWR-447: Fix NSIS installer icons with "Modern UI" mechanism.Nat Goodspeed
2018-11-02DRTVWR-447: Merge directly executing updater for Windows precheck.Nat Goodspeed
2018-11-02DRTVWR-447: Back out changeset 69118ad33b45: directly run updaterNat Goodspeed
from NSIS installer, instead of via explorer.exe. A recent test run performed the install, then opened an Explorer window on My Documents. <eyeroll/>
2018-11-01DRTVWR-447: Allow Standard Windows user to install for current user.Nat Goodspeed
This should eliminate any confusion due to a Standard user needing to elevate to Admin privileges, since from that point on Windows tells the running program the current user is that Admin. Bypass all that.
2018-10-30DRTVWR-447: Copy VIEWER_EXE to local variable (thanks Ansariel)Nat Goodspeed
2018-10-29SL-9980: Launch the first-run updater via explorer.exe as we used toNat Goodspeed
run the viewer from the installer. Turns out that the peculiar indirection through explorer.exe was a known trick for an elevated-privileges program to launch a program as the logged-in Windows user. (They could have commented that...) But explorer.exe doesn't pass command-line parameters, so if you want to pass any such to the actual target program, you have to launch a shortcut with those parameters. But this target program (the updater) and its parameters (precheck mumble) are specific to the very first viewer run after installation, so delete it after. Having an additional permanent icon that always runs the updater before the viewer would only confuse matters.
2018-09-13DRTVWR-474: Make NSIS installer invoke updater precheck subcommand.Nat Goodspeed
2018-09-12DRTVWR-474: $VIEWER_EXE, rather than plain VIEWER_EXENat Goodspeed
2018-09-12DRTVWR-474: Make NSIS run new updater.exe after install.Nat Goodspeed
But change shortcuts and registry entries and everything else back to the real viewer executable, so that every subsequent run directly launches the viewer. Eliminate SL_Launcher references from viewer_manifest.py.
2018-02-28MAINT-8305: Fix longstanding typo in WriteRegStr per Ansariel Hiller.Nat Goodspeed
2018-02-28MAINT-8305: Point SLURLs to viewer, not launcher; suppress warning.Nat Goodspeed
Specifically, when the viewer is run with a URL target argument, suppress the "do not directly execute viewer, use the launcher instead" warning.
2018-01-24MAINT-7533: Stop NSIS installer from pinging secondlife.com.Nat Goodspeed
Specifically, the installer has been hitting http://install.secondlife.com/check/ In most situations, the installer is run right after the user finishes downloading it. If s/he can successfully download a big executable, we should be able to use that network connection. More to the point, *nothing is done* with the connect result. It serves only to slow down the viewer installer.
2017-10-18MAINT-7812: NSIS check for /marker before writing marker file.Nat Goodspeed
The /marker switch is passed by the (new) VMP. If any user wants to explicitly pass the /marker switch to the installer, s/he shouldn't mind ending up with an nsis.winstall file in the download directory.
2017-10-11Automated merge with ssh://bitbucket.org/lindenlab/viewer-releaseNat Goodspeed
2017-09-13MAINT-7446 Fixed After installs, bat file fails to start the viewer.andreykproductengine
2017-08-17MAINT-7661: Make NSIS installer place .winstall marker file.Nat Goodspeed
This reduces a timing hole in which one instance of SL_Launcher might place a .winstall marker file in the download directory and run the downloaded installer, but another SL_Launcher instance might discover that marker and try to delete the directory before the NSIS install completes.
2017-07-20MAINT-7529: de-Nerf autolaunch after installGlenn Glazer
2017-06-30SL-671: uninstall pinning changesGlenn Glazer
2017-06-27mergecoyot
2017-06-27use icon in viewer exe for shortcutcoyot
2017-06-27upgrade to VMP package 506923Glenn Glazer
2017-06-27Try pointing icon path to actual viewer exeGlenn Glazer
2017-06-26MAINT-7514: remove check if same version is installedGlenn Glazer
2017-06-26mergeGlenn Glazer
2017-06-26MAINT-7514: Add (32) or (64) to registry for "install again?" prompt.Nat Goodspeed
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.
2017-06-23MAINT-7515: point shortcut icon at viewer exeGlenn Glazer
2017-05-17nerf launch from NSISGlenn Glazer
2017-05-05pull from gatecoyot@coyot-sager-PC.hsd1.ca.comcast.net
2017-05-02SL-617: use the braces, Luke!coyot@coyot-sager-PC.hsd1.ca.comcast.net
2017-05-01SL-617: fix registry pathcoyot@coyot-sager-PC.hsd1.ca.comcast.net
2017-04-28SL-617: pass final_exe from viewer manifest to NSIS as VIEWER_EXEcoyot@coyot-sager-PC