# Silent installation for RMM (Windows advanced)

eazyBackup allows you to install and configure the software silently, by running the following example via your remote management software. Silent installations must be started by running from the installer directory. Incorrect quotations may result in errors.

### Arguments

**Account username and password**

```
/CONFIGURE=user:password
```

**Silent install**

```
/S
```

For example:

**Command Prompt:**&#x20;

```
 install.exe /S /CONFIGURE=user:password PowerShell Start-Process -Wait .
```

**PowerShell:**

```
Start-Process -Wait .\install.exe -ArgumentList "/S /CONFIGURE=user:password"
```

If you make a mistake with the username/password prompt, you can run the following command to re-enter your login details:&#x20;

```
cd "C:\Program Files\eazyBackup"; echo "USERnPASSWORD" | .\backup-tool.exe login prompt 
```

{% hint style="info" %}
Please take care with the n character separating the username and password.
{% endhint %}

### Optional arguments

#### Disable shortcuts&#x20;

eazyBackup allows you to disable the software shortcuts during the silent installation, by adding the command-line argument `/SHORTCUT=disable`.&#x20;

For example, if you want to install and have no shortcuts created, you can run the following command.

**Command Prompt:**&#x20;

```
install.exe /S /SHORTCUT=disable
```

**PowerShell**

```
Start-Process -Wait .\install.exe -ArgumentList "/S /SHORTCUT=disable"
```

#### Disable tray icon

eazyBackup allows you to disable the tray icon during the silent installation, by adding the argument.

```
/TRAYICON=disable.
```

#### Log on `backup.delegate` service as Local System account

eazyBackup allows you to explicitly have the background service `backup.delegate` log on as the Local System account during the silent installation with the following argument.

```
/ISLOCALSYSTEM=yes
```

## RMM Deployment Examples

#### Silent install example for a single user &#x20;

```
$dlPath = "C:\TEMP"
$serverURL = "https://csw.eazybackup.ca"
$installFile = "$dlPath\install.exe"

if (-not (Test-Path $dlPath)) {
    mkdir $dlPath
}

# Set location to the download path
Set-Location $dlPath

# Download our installer
Invoke-WebRequest -Uri "$($serverURL)/dl/1" -OutFile $installFile

# Verify the installer file exists and is not empty
if (-not (Test-Path $installFile) -or (Get-Item $installFile).Length -eq 0) {
    Write-Error "The file was not downloaded correctly."
    exit 1
}

# Start the silent install
Start-Process -Wait -FilePath $installFile -ArgumentList "/S /CONFIGURE=myusername:mypassword"

# Perform clean up 
Remove-Item -Path $installFile
```

#### Silent install with RMM software

In this example the script accepts `username` and `password` as parameters, which could be supplied by your RMM software:

To dynamically replace the "username" in the `Start-Process` command for each user, when running the script from RMM software, you can pass parameters from the RMM system to the script at runtime.

**PowerShell**

```
param (
    [string]$username,
    [string]$password
)

$dlPath = "C:\TEMP"
$serverURL = "https://csw.eazybackup.ca"
$installFile = "$dlPath\install.exe"

if (-not (Test-Path $dlPath)) {
    mkdir $dlPath
}

# Set location to the download path
Set-Location $dlPath

# Download our installer
Invoke-WebRequest -Uri "$($serverURL)/dl/1" -OutFile $installFile

# Verify the installer file exists and is not empty
if (-not (Test-Path $installFile) -or (Get-Item $installFile).Length -eq 0) {
    Write-Error "The file was not downloaded correctly."
    exit 1
}

# Build the argument list with the user and password
$arguments = "/S /CONFIGURE=$username:$password"

# Start the silent install
Start-Process -Wait -FilePath $installFile -ArgumentList $arguments

# Perform clean up 
Remove-Item -Path $installFile

```

Most RMM software should allow you to pass values for `username` and `password` when you execute the script.&#x20;

* **Direct Input in the RMM Software:** If your RMM supports passing parameters to PowerShell scripts (Kaseya, Datto, N-able), you can pass `username` and `password` as arguments when running the script.
* **Using Variables:** If your RMM software stores user-specific data (like usernames or passwords), you can substitute them into the script as variables at runtime.
