Deploying DD Desktop Portal v5 via PowerShell

Edcel Ceniza Updated by Edcel Ceniza

v5 of the DeskDirector desktop portal was released early 2022. This guide will help you deploy the portal to your machines via PowerShell.

Pre-requisites for the installation:

For the PowerShell script to work, it requires a remote location of these four files:

  • DD Portal MSI installer
  • appsettings.json :
  • Favicon.png :
  • logo.png

With release of 5.0.10, the installer will looking for setting or logo file under folder following folder. Such behaviour can help RMM to install client portal automatically, without issue related to required files missing.


  1. Download MSI, setting and logo files under C:\Temp\DeskDirector folder.
  2. RMM use msiexec.exe to execute on the installer under above folder.

The PowerShell script is below: (a copy can also be downloaded here)

$urlWebView = ""
$clientDesktop = Read-Host -Prompt 'Input your target location to download Client_desktop_app.msi'
$dotNet6 = ""
$favicon = Read-Host -Prompt 'Input your target location to download favicon.png'
$logo = Read-Host -Prompt 'Input your target location to download logo.png'
$appsettings = Read-Host -Prompt 'Input your target location to download appsettings.json'

$output = "$PSScriptRoot\webview2.exe"
$output2 = "$PSScriptRoot\client_desktop_app.msi"
$dotnetLOC = "$PSScriptRoot\windowsdesktop-runtime-6.0.7-win-x64.exe"
$faviconLOC = "$PSScriptRoot\favicon.png"
$logoLOC = "$PSScriptRoot\logo.png"
$appsettingsLOC = "$PSScriptRoot\appsettings.json"
$start_time = Get-Date

# 1. Invoke-WebRequest Webview2 download

Invoke-WebRequest -Uri $urlWebView -OutFile $output
"Time taken: $((Get-Date).Subtract($start_time).Seconds) second(s)"

# 2. Invoke-WebRequest DesktopApp download

Invoke-WebRequest -Uri $clientDesktop -OutFile $output2
"Time taken: $((Get-Date).Subtract($start_time).Seconds) second(s)"

# 3. Invoke-WebRequest Dotnetv6 download

Invoke-WebRequest -Uri $dotNet6 -OutFile $dotnetLOC
"Time taken: $((Get-Date).Subtract($start_time).Seconds) second(s)"

# 4. Invoke-WebRequest favicon download

Invoke-WebRequest -Uri $favicon -OutFile $faviconLOC
"Time taken: $((Get-Date).Subtract($start_time).Seconds) second(s)"

# 5. Invoke-WebRequest logo download

Invoke-WebRequest -Uri $logo -OutFile $logoLOC
"Time taken: $((Get-Date).Subtract($start_time).Seconds) second(s)"

# 6. Invoke-WebRequest appsettings download

Invoke-WebRequest -Uri $appsettings -OutFile $appsettingsLOC
"Time taken: $((Get-Date).Subtract($start_time).Seconds) second(s)"

# 7. Install Webview2, install Dotnet6, Install Deskdirector Client (with progress bar)

Start-Process -wait -FilePath $output -ArgumentList "/silent /install" -Verb RunAs
Start-Process -wait -FilePath $dotnetLOC -ArgumentList "/silent /install" -Verb RunAs
cd $PSScriptRoot
msiexec.exe /i $output2 /qn

Write-Output "Setup complete"

What does the PowerShell script do?

  1. Downloads webview, netcorev6, DD client
  2. Prompts the user for 3 locations of the files -favicon.png, logo.png, appdata.json
  3. Downloads all these files to the same directory where the script is being run (suggest to do this from C: temp) or new folder etc.
  4. Silently installs webview2 (silent) install .net6 (silent) installs DD client (with progress bar)

How did we do?

DDPortal removal tool - uninstalling Windows portals

Desktop Portal v5 Installation & Common Issues