# Helmut4 Client

The purpose of this guide is to assist you in upgrading the Helmut4 client to a newer version.

Updating the client is generally straightforward. On Windows, an uninstaller is available, which removes the client and the Helmut4-related extensions.

**We recommend** [**running the uninstaller (**](https://docs.helmut.de/helmut4-releases/v4.8.0/installation-guide/helmut4-client#unattended-automated-client-installation)**Windows) and manually deleting the client (macOS) in the first place, before installing the new one**.

Running the new client installer defaults to updating the client and the Adobe-Helmut4 extensions.

It is important to note that when updating Helmut4 and Adobe simultaneously, Adobe applications should be updated first; otherwise, the extensions will not be available.

For further information, please consult the [supported Adobe versions](https://docs.helmut.de/helmut4-releases/v4.8.0/getting-started/supported-adobe-versions) or [Helmut4 client tech specs](https://docs.helmut.de/helmut4-releases/v4.8.0/getting-started/installation-guide/helmut4-client).

### **Update procedure till version 4.7 and earlier**

{% hint style="warning" %}
*Consider to update the Helmut4 client on every workstation in advance.*

Note: Updating the Helmut4 server first may lead to compatibility issues, as the client might lack certain dependencies introduced as part of new features or changes.
{% endhint %}

### **Update procedure from version 4.7 and earlier to version 4.8 and newer**

{% hint style="danger" %}
As a result of the underlaying java framework update, pre-populating the client in advance is not feasible, as the client version 4.8 and newer is incompatible with earlier versions. This also applies vice versa: a client version 4.7 and earlier cannot be utilized with a server version 4.8 and newer.

#### Autologin file

Due to a change in the length of security keys, it is necessary for **ALL autologin files** to be replaced with newly created ones.

These new files need to be **generated after the server has been updated** to the desired version, such as version 4.8.
{% endhint %}

### Helmut4: Server vs client version

Every stable/snapshot release has a dedicated client. The specific client version for the server can be found on the [admin webpage](https://docs.helmut.de/helmut4-releases/v4.8.0/installation-guide/helmut4-client#download-helmut4-client-via-gui) or via API/URL.

For more details, please refer to the following link: [Request Helmut4 client via URL](https://docs.helmut.de/helmut4-releases/v4.8.0/installation-guide/helmut4-client#request-helmut4-client-via-url).

If you'd like to obtain it ahead of time, please don't hesitate to submit a [ticket](https://moovit.jitbit.com/helpdesk/).

### Optional update script for central client distribution

When updating the server, it is essential to also update the client application. The dedicated client includes release-related changes as well as panel extensions used within Adobe Premiere Pro and After Effects.

We strongly recommend performing a clean uninstall of the client for both Windows and Mac.

Below are two (optional) scripts that might assist you with this procedure when deploying the client with a software deployment system:

<details>

<summary>Windows Script</summary>

This batch script will silently uninstall and then reinstall the Helmut4 client.

```batch
@echo off
:: Uninstall + Install Helmut Client vias silent mode

:: MoovIT - B. Dimmel
:: Version 3.5
:: Date: Apr 4th 2023

:: Changelog: Jun 26th 2024
:: Added logic for Helmut 4.8.0+
:: Changed robocopy for Helmut4.lnk
:: Added Helmut4 client restart

:: Set local folder path to Helmut4 installer
set "helmutpath=C:\temp\helmut"
set "clientversion=4.8.0"

:: Terminate Helmut process Helmut 4.7.0 and before
taskkill /F /IM "javaw.exe" >nul 2>&1

timeout /t 2

:: Terminate Helmut process Helmut 4.5.0 and above
taskkill /F /IM /T "Helmut4.exe" >nul 2>&1

echo Helmut process terminated.

:: Start Uninstaller
if exist "C:\Program Files\MoovIT GmbH\Helmut4" (
    cd /d "C:\Program Files\MoovIT GmbH\Helmut4"
    echo Uninstalling Helmut4...
    start /wait "" "Uninstall Helmut4.exe" /S
    echo Helmut4 uninstalled.

    :: Wait for uninstallation to complete
    timeout /t 10 /nobreak >nul
) else (
    echo Helmut4 is not installed. Skipping uninstallation.
)

:: Delete Adobe extensions and temporary files
echo Deleting Adobe extensions and temporary files...
Rmdir /S /Q "C:\Program Files (x86)\Common Files\Adobe\CEP\extensions\de.moovit.AME_WS" 2>nul
Rmdir /S /Q "C:\Program Files (x86)\Common Files\Adobe\CEP\extensions\de.moovit.HELMUT" 2>nul
Rmdir /S /Q "C:\Program Files (x86)\Common Files\Adobe\CEP\extensions\de.moovit.HELMUT_ADOBE_INVISIBLE_PANEL" 2>nul
Rmdir /S /Q "C:\Program Files (x86)\Common Files\Adobe\CEP\extensions\de.moovit.HELMUT_ADOBE_WINDOW_EXTENSION" 2>nul
Rmdir /S /Q "C:\Program Files (x86)\Common Files\Adobe\CEP\extensions\de.moovit.PREMIERE_WS" 2>nul


for /D %%D in (C:\Users\*) do (
    :: Delete old .jar stream engine from any user AppData/Temp folder
    del "%%D\AppData\Local\Temp\stream-engine-4*.jar" /F /Q 2>nul

    :: Delete all moovit-related panel cache folders
    forfiles /P "%%D\AppData\Local\Temp\cep_cache" /M *_de.moovit.* /C "cmd /c if @isdir==TRUE rmdir /s /q @file" 2>nul
)

echo Adobe extensions and temporary files deleted.

:: Install Helmut Client
echo Installing Helmut Client...
cd /d "%helmutpath%"
set "installer=Helmut_Client_Setup_%clientversion%.exe"
start /wait "" "%installer%" /S

:: Copy the public Helmut client shortcut into the global Windows autostart folder
robocopy "C:\Users\Public\Desktop" "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp" Helmut4.lnk /is

:: Delete public desktop Helmut shortcut
del /f "C:\Users\Public\Desktop\Helmut4.lnk" >nul 2>&1

echo Helmut Client has been installed.

:: Wait for installation to complete
timeout /t 10 /nobreak >nul

:: Retsart the Helmut4 client
start /B "" "C:\Program Files\MoovIT GmbH\Helmut4\Helmut4.exe"

exit /b
```

</details>

<details>

<summary>macOS Script</summary>

This shell script is designed to uninstall the Helmut4 application along with its dedicated extensions, followed by the installation of the Helmut4 client.

```sh
#!/bin/bash

# Uninstall + Install Helmut Client on macOS

# MoovIT
# Version 1.3
# Date: Apr 4th 2023

# Changelog: Mar 15th 2024
# Minor refactoring
# Verify existence of pkg installer

# Define variables for installer path and client version
helmutpath="/Volumes/MacHD/Users/Shared"
clientversion="4.8.0.0"
installpath="$helmutpath/Helmut_Client_Setup_$clientversion.pkg"

# Check if the installer package file exists
if [ ! -f "$installpath" ]; then
    echo "Error: Installer package file '$installpath' not found. Aborting."
    exit 1
fi

# Terminate running Helmut4 instance
pkill "Helmut4"
echo "Helmut process terminated"

# Delete users' moovIT panel cache
rm -rf "/Users/*/Library/Caches/CSXS/cep_cache/PPRO_*_de.moovit.HELMUT_ADOBE_INVISIBLE_PANEL"
rm -rf "/Users/*/Library/Caches/CSXS/cep_cache/PPRO_*_de.moovit.HELMUT"
rm -rf "/Users/*/Library/Caches/CSXS/cep_cache/AME_*_de.moovit.AME_WS"
# Old extension
rm -rf "/Users/*/Library/Caches/CSXS/cep_cache/PPRO_*_de.moovit.PREMIERE_WS"

# Delete all moovIT panel extensions (safeline version)
rm -rf "/Library/Application Support/Adobe/CEP/extensions/de.moovit.AME_WS"
rm -rf "/Library/Application Support/Adobe/CEP/extensions/de.moovit.HELMUT"
rm -rf "/Library/Application Support/Adobe/CEP/extensions/de.moovit.HELMUT_ADOBE_INVISIBLE_PANEL"
# Old extensions
rm -rf "/Library/Application Support/Adobe/CEP/extensions/de.moovit.PREMIERE_WS"

# Delete old Helmut4 application
rm -rf "/Applications/Helmut4.app"

# Install Helmut4
installer -pkg "$installpath" -target /Applications/

echo "Update finished"

# Display dialog message
osascript -e 'display dialog "Helmut4 client installed!" with title "MoovIT-Helmut4"'
```

</details>

<br>
