Intro

Spencer leverages NSIS installer provided by electron.build library. Our Build Pipeline produces the asset identically with the same settings for all customers. The installer comes build in with some command line parameters for the installation process that can ease the work of the package creators.

Spencer does NOT leverage any auto-update mechanism in favor of easing Enterprise rollout, where packaging and deployment is handled by the Enterprise or 3rd party.

Architecture

Installers are build for both x64 and ia32 architecture in a single installable. The installer will automatically chose the right package for your device.

CLI flags


/S

Silent mode, Spencer will install without user interface, you do need to pass it the options below so the installer does not need interactivity and make sure /S is your first argument on the CLI !

/allusers

Indicates the Spencer should be installed for all users on the device. Assumes installer is run by Administrator rights. This skips the GUI step where the interactive installer requires the user to indicate "All users" or "Current User".

/currentuser

Indicates the Spencer should be installed for the current active users. This skips the GUI step where the interactive installer requires the user to indicate "All users" or "Current User".

/D="C:\Program Files\YourCustomPath"

Indicates that the suggested installation path should be set to C:\Program Files\YourCustomPath


Example

C:\Users\me> Spencer.exe /S /currentuser /D="C:\Program Files\YourCustomPath"

This will install Spencer without prompt or window in folder C:\MySpencerLocation for the current user.

Again make sure /S is your first argument


Uninstall

/uninstall

Indicates Spencer should be uninstalled prior to running the installer. Same as running Uninstall.exe in your chosen installation path.

Use with caution: Spencer is developed with updates as a mindset.
Meaning uninstalls should NOT be the norm during packaging. Our goal is to allow the user to remain logged in during updates, with all state preserved on their device(s).

Filename Convention

Some detail on the filename used for each release:

Spencer-20.4.0-1284-fa008a8311d2c95005953ddd3a2493bc36ab0507.exe

This filename is generated based these parameters, listed below. This gives Spencer the ability to better support you when the asset is passed around in your organization.

Spencer-<version>-<build-number>-<git-sha1>.exe
  • version is structured as: year.month.hotfix
  • build number is an autoincrement for each build created by the build pipeline
  • git-sha1 indicates the exact version of the SVC system used at Spencer