Evergreen Script – Update your Software, the lazy way

Download and Install several Software the lazy way with the Evergreen module from Aaron Parker, Bronson Magnan and Trond Eric Haarvarstein.

GitHub Download Link Evergreen Script – Update your Software, the lazy way

To update or download a software package just switch from 0 to 1 in the section “Select software” (With PowerShell parameter -list) or select your Software out of the GUI.


Don’t forget to set the Software Version, Update Ring, Architecture and so on.

A new folder for every single package will be created, together with a version file and a log file.

If a new version is available the script checks the version number and will update the package.

I’m no powershell expert, so I’m sure there is much room for improvements!

So let me hear your feedback, I will try to include everything as much as I can.

Purpose/Change:

Parameter

-list

Don’t start the GUI to select the Software Packages and use the hardcoded list in the script (From line 612). If neither parameter -Download or -Install is also used, both processes will be executed.

For example, to automate the process via Scheduled Task or to integrate this into BIS-F (Thx Matthias Schlimm for your work).

-download

Only download the selected software packages in list Mode (-list).

-install

Only install the selected software packages in list Mode (-list).

Example

.\Evergreen.ps1 -list -download

Download the selected Software out of the list.

.\Evergreen.ps1 -list -install

Install the selected Software out of the list.

.\Evergreen.ps1 -list

Download and install the selected Software out of the list.

.\Evergreen.ps1

Starts the GUI to select the mode (Install and/or Download) and the software (Release, Update Ring, Language, etc.).

Notes

Evergreen PowerShell Module

If Download is selected, the module is checked each time the script is run and reinstalled if a new version is available.

7-ZIP

Line 856 defines which package is downloaded (You can change the architecture in line 633 for a non-GUI start).

For 7-ZIP this is an exe file.

Adobe Pro DC

Line 890 defines which package is downloaded (You can change the version).

For Adobe Pro DC this is the update package (msp file).

Only update @ the moment, no installer!

After the update, the Adobe service and scheduled task will be stopped and disabled.

Adobe Reader DC

Line 923 defines which package is downloaded (You can change the architecture in line 633 and the language in line 628 for a non-GUI start).

The architecture can only be changed to x64 for the English package at the moment.

After the installation, the Adobe service and scheduled task will be stopped and disabled.

BIS-F

Line 956 defines which package is downloaded.

For BIS-F this is the msi file.

After the installation, the scripts will be adjusted regarding task offload, RSS activation and DEP deactivation.

Citrix Hypervisor Tools

Line 989 defines which package is downloaded (You can change the architecture in line 633 for non-GUI startup).

For Citrix Hypervisor Tools this is the x64 msi file (LTSR Path).

For Windows 7, Windows Server 2008 SP2 and Windows Server 2008 R2 SP1, you can change to version 7.2.0.1555 in line 989.

Citrix WorkspaceApp

Line 1023 defines which package is downloaded (You can change the release on line 639 for a non-GUI start).

Before the installation of the new receiver, the old one is uninstalled via the Receiver Cleanup Tool.

The installation is executed with the following parameters (from line 2335):

After the installation, various registry keys are set (from line 2354).

As always, after installing the new WorkspaceApp, the system should be rebooted.

deviceTRUST

Line 819 define which package are installed in the non-GUI start.

For deviceTRUST Client this is an exe file and for the Console / Host this is a msi file.

Filezilla

Line 1064 defines which package is downloaded.

For Filezilla this is the exe file.

Filezilla is installed with the parameter /user=all for all users.

Foxit Reader

Line 1097 defines which package is downloaded (You can change the language in line 628 for a non-GUI start).

For Foxit Reader this is an exe file.

Google Chrome

Line 1131 defines which package is downloaded (You can change the architecture in line 633 for a non-GUI start).

For Google Chrome this is the msi file.

After the installation the Chrome services and scheduled tasks will be stopped and disabled.

Greenshot

Line 1165 defines which package is downloaded.

For Greenshot this is an exe file.

IrfanView

Line 1242 defines which package is downloaded (You can change the architecture in line 633 for a non-GUI start).

For IrfanView this is an exe file.

KeePass

Line 1276 defines which package is downloaded (You can change the channel in line 647 for a non-GUI start).

For KeePass this is the msi file.

Microsoft .Net Framework

Line 1608 defines which package is downloaded (You can change the architecture in line 805 and the Channel in line 824 for a non-GUI start).

For Microsoft .Net Framework this is an exe file.

Microsoft 365 Apps

Line 1309 defines which package is downloaded (You can change the channel in line 647 for a non-GUI start).

For Microsoft 365 Apps this is the exe setup file.

During the download not only the setup.exe is downloaded, but also the following xml files are created, if they are not already present in the folder:

remove.xml (from line 1321)

install.xml (from line 1346)

Afterwards the install.xml is used to download the required install files.

Before installing the new Microsoft 365 Apps version, the previous installation is removed (remove.xml).

After that the reinstall of the software starts (install.xml).

An install.xml with the special features of the own installation can be stored and used in advance (e.g. Languages, App Exclusion or Inclusion (Visio & Project)).

By default, the following is defined in install.xml (64Bit / Match OS Language / Semi Annual Channel):

Microsoft Edge

Line 1418 defines which package is downloaded (You can change the architecture in line 633 for a non-GUI start).

For Microsoft Edge this is the msi file.

Microsoft Edge is installed with the parameter that don’t create icons (Desktop and Quickstart).

After the installation, the scheduled tasks of Microsoft Edge are disabled and the Citrix API Hooks are set in the registry.

Microsoft FSLogix

Line 1453 defines which package is downloaded.

For FSLogix this is the zip package.

With FSLogix installation, the old installation, if present, is uninstalled first and a restart is requested.

Then the script must be started again, so that the new version is installed cleanly.

Not only the FSLogix Agent is installed, but also the FSLogix AppRule Editor.

Microsoft Office 2019

Line 1493 defines which package is downloaded.

For Microsoft Office 2019 this is the exe setup file for Office 2019 Enterprise.

During the download not only the setup.exe is downloaded, but also the following xml files are created, if they are not already present in the folder:

remove.xml (from line 1505)

install.xml (from line 1530)

Afterwards the install.xml is used to download the required install files.

Before installing the new Microsoft Office 2019 version, the previous installation is removed (remove.xml).

After that the reinstall of the software starts (install.xml).

An install.xml with the special features of the own installation can be stored and used in advance (e.g. Languages or architecture).

By default, the following is defined in install.xml (64Bit / Match OS Language):

Microsoft OneDrive

Line 1602 defines which package is downloaded (You can change the update ring in line 653 for a non-GUI start).

For Microsoft OneDrive this is the Production Ring exe file.

Microsoft OneDrive is installed with the Machine Based Install parameter.

Microsoft PowerShell

Line 1974 defines which package is downloaded (You can change the architecture in line 805 and the Release in line 843 for a non-GUI start).

For Microsoft PowerShell this is a msi file.

Microsoft Teams

Line 1637 and 1640 define which package is downloaded (You can change the architecture in line 633 and update ring in line 659 for a non-GUI start).

For Microsoft Teams this is the x64 msi file (General Ring).

Microsoft Teams is installed with the Machine Based Install parameters.

Mozilla Firefox

Line 1675 defines which package is downloaded (You can change the architecture in line 633, language in line 628 and the channel in line 669 for a non-GUI start).

For Firefox this is the english x64 msi file (Latest Firefox Version).

Firefox is installed with the parameter that disables the creation of the icons and the the maintenance service.

mRemoteNG

Line 1709 defines which package is downloaded.

For mRemoteNG this is the msi file.

NotePad++

Line 1742 defines which package is downloaded (You can change the architecture in line 633 for a non-GUI start).

For Notepad++ this is the x64 exe file.

OpenJDK

Line 1776 defines which package is downloaded (You can change the architecture in line 633 for a non-GUI start).

For OpenJDK this is the x64 msi file.

Oracle Java 8

Line 1810 defines which package is downloaded (You can change the architecture in line 633 for non GUI start).

For Oracle Java 8 this is the x64 msi file.

Remote Desktop Manager

Line 2223 and 2257 define which package is downloaded (You can change the version in line 864 for a non-GUI start).

For Remote Desktop Manager this is a msi file.

ShareX

Line 2290 define which package is downloaded.

For ShareX this is an exe file.

Slack

Line 2323 define which package is downloaded (You can change the architecture in line 633 and the version in line 869 for a non-GUI start).

For Slack this is a msi file.

TreeSize

Line 1846 and 1877 define which package is downloaded (You can change the version in line 674 for a non-GUI start).

For TreeSize this is the exe file.

VLC Player

Line 1912 defines which package is downloaded (You can change the architecture in line 633 for a non-GUI start).

For VLC Player this is the x64 msi file.

VMWare Tools

Line 1946 defines which package is downloaded (You can change the architecture in line 633 for non GUI start).

For VMWare Tools this is the x64 exe file.

With VMWare Tools installation, the old installation, if present, is uninstalled first and a restart is requested.

Then the script must be started again, so that the new version is installed cleanly.

WinSCP

Line 1980 defines which package is downloaded.

For WinSCP this is the exe file.

Zoom

Line 2526 defines which package is downloaded.

For Zoom this is the exe file.

Shortcut

In GitHub I have placed a sample lnk file under shortcut, as well as the Evergreen Script logo as an icon file.

Change the path after the -file parameter to the location of your Evergreen Script folder.