secondlife / viewer

🖥️ Second Life's official client
GNU Lesser General Public License v2.1
212 stars 53 forks source link

Windows viewer installer ignores `/D` switch (to override install directory) #3098

Open nat-goodspeed opened 6 days ago

nat-goodspeed commented 6 days ago

Environment

Second Life Release 7.1.10.10800445603 (64bit) Release Notes

CPU: AMD Ryzen Threadripper 3960X 24-Core Processor (3800.11 MHz) Memory: 65413 MB OS Version: Microsoft Windows 10 64-bit (Build 19045.5011) Graphics Card Vendor: NVIDIA Corporation Graphics Card: NVIDIA GeForce GTX 970/PCIe/SSE2

Windows Graphics Driver Version: 32.0.15.6603 OpenGL Version: 4.6.0 NVIDIA 566.03

Window size: 2060x1562 Font Size Adjustment: 96pt UI Scaling: 1 Draw distance: 128m Bandwidth: 3000kbit/s LOD factor: 1.25 Render quality: 2 Texture memory: 4096MB Disk cache: Max size 1638.4 MB (9.6% used)

J2C Decoder Version: KDU v7.10.4 Audio Driver Version: OpenAL, version 1.1 ALSOFT 1.23.1 / OpenAL Community / OpenAL Soft: OpenAL Soft Dullahan: 1.14.0.202408091639 CEF: 118.4.1+g3dd6078+chromium-118.0.5993.54 Chromium: 118.0.5993.54 LibVLC Version: 3.0.21 Voice Server Version:

November 15 2024 11:42:51

Description

Automated test scripts (e.g. secondlife/vita#1) want to be able to install the subject viewer to a temporary directory, without overwriting the test user's usual viewer. The NSIS installer accepts a /D switch, allowing a command line invocation to specify the default install directory. This has worked in the past.

The current Windows installer_template.nsi logic changed so that the resulting installer's /D switch is ignored.

Reproduction steps

  1. Download any recent viewer installer.
  2. Open Command Prompt.
  3. Type "full\pathname\of\installer.exe" /D=desired\install\directory (note: no quotes around desired\install\directory)
  4. Expected: The default install directory will be desired\install\directory
  5. Actual: The default install directory is C:\Program Files\<channel> e.g. C:\Program Files\SecondLifeViewer