Installing the SDE Remote app

By Paul Flanders · · Intermediate

The article provides detailed instructions for installing the SDE Remote app on Windows and Ubuntu systems, including both manual and silent installation methods. It covers initial setup, updates, and uninstallation, aimed at IT professionals deploying the app.

Install SDE Remote on Windows PCs from the MSI (by hand, or silently through SCCM, Intune or Group Policy) and on Ubuntu laptops from the .deb package, then check the first sign-in, keep it up to date and remove it cleanly.

Applies to: SDE Remote app 1.1.2 (Windows 10/11 x64, Ubuntu 22.04 and 24.04 amd64) · Audience: client IT and SDE engineers rolling out the app · Time: about 10 minutes per platform

1. Before you start

Windows and Linux get the same app at the same version number. Both packages are on the same release page, which is the address your site gives out (the gateway's SDE_APP_DOWNLOAD_URL, see section 6).

PlatformFileNeeds
WindowsSDE-Remote-<version>.msiWindows 10 or 11, 64-bit. The WebView2 runtime, which Windows 10 and 11 already have, for the web window. Nothing else: the .NET runtime and FreeRDP are inside the MSI.
Ubuntu 22.04sde-remote_<version>-1~jammy_amd64.debA desktop session (GNOME on X11 or Wayland). The package pulls in what it needs from the Ubuntu archive.
Ubuntu 24.04sde-remote_<version>-1~noble_amd64.debAs above. Use the noble file: the two builds are linked against different system libraries.

The PC only needs to reach the SDE portal over HTTPS (port 443). Native Remote Desktop connections travel through the SDE gateway on the same port, so no RDP port has to be opened to the PC.

2. Windows: install the MSI

  1. Copy SDE-Remote-<version>.msi to the PC.
  2. Double-click it and accept the Windows prompt for administrator rights. The MSI is installed for all users of the PC.
  3. When it finishes, open SDE Remote from the Start menu or the Desktop.
SmartScreen warningThe MSI isn't code-signed yet, so Windows SmartScreen may warn about it. Choose More info → Run anyway, or allow the file in your endpoint policy.

What the MSI installs:

ItemWhere
The appC:\Program Files\SDE Remote\SdeRemote.App.exe, with its own .NET runtime
FreeRDP (native RDP)C:\Program Files\SDE Remote\freerdp\: the Classic client and its libraries, and the SDL client in freerdp\sdl\
ShortcutsSDE Remote in the all-users Start menu and on the all-users Desktop
Link handlerHKLM\Software\Classes\sde-remote, so sde-remote:// links open the app for every user. The app also registers itself for the signed-in user (HKCU\Software\Classes\sde-remote) each time it starts.
Install markersHKLM\Software\EssingtonITS\SDE Remote, values installed and desktop

3. Windows: silent install and SCCM

Run these as SYSTEM (the SCCM or Intune system context) or from an elevated prompt:

TaskCommand
Install or upgrademsiexec /i SDE-Remote-<version>.msi /qn
Install with a logmsiexec /i SDE-Remote-<version>.msi /qn /l*v install.log
Uninstallmsiexec /x SDE-Remote-<version>.msi /qn, or msiexec /x {ProductCode} /qn
  • Detection rule: the MSI's ProductCode, or its UpgradeCode {8A7B6C5D-4E3F-2A1B-9C8D-7E6F5A4B3C2D}, which stays the same for every version.
  • Upgrades: deploy the newer MSI with the same install command. It replaces the old version in place. Installing an older MSI over a newer one stops with "A newer version of SDE Remote is already installed."
  • Ask users to close SDE Remote before the upgrade runs, or schedule it outside working hours.

Machine-wide settings

The MSI has no public properties, and the app reads no policy or machine-wide registry settings. Everything the user sets (the portal address, their username, view and connection options) is saved per user in %AppData%\SdeRemote\settings.json. Users type the portal address once; the app remembers it.

Pre-filling the portal addressTo save users typing it, a logon script can write a settings file before their first start, only if one doesn't exist yet. The file is JSON, and the app fills in the rest the first time it saves:
{ "LastBaseUrl": "https://sde.example.org/guacamole" }
Save it as %AppData%\SdeRemote\settings.json. Don't overwrite an existing file: it holds the user's own connection options.

Moving from the old script installer

Early pilots used a per-user script installer (install.ps1) that put the app in %LocalAppData%\Programs\SDE Remote. The MSI doesn't remove it, so a user could end up with two copies and an old Desktop icon. Remove it once per user, as the signed-in user or as an SCCM step before the MSI:

Remove-Item -Recurse -Force "$env:LOCALAPPDATA\Programs\SDE Remote" -ErrorAction SilentlyContinue
Remove-Item -Force "$env:USERPROFILE\Desktop\SDE Remote.lnk",
  "$env:APPDATA\Microsoft\Windows\Start Menu\Programs\SDE Remote.lnk" -ErrorAction SilentlyContinue

The user's settings in %AppData%\SdeRemote are kept.

4. Linux: install the .deb

  1. Download the file for the laptop's Ubuntu release: ~jammy for 22.04, ~noble for 24.04. Check the release with lsb_release -cs.
  2. Install it with apt, which also installs the packages it depends on. The ./ matters: it tells apt this is a file, not a package name.
    sudo apt install ./sde-remote_1.1.2-1~noble_amd64.deb
  3. Check it:
    sde-remote --version
    It prints the app version, for example 1.1.2.
  4. Open SDE Remote from the applications menu (search for "SDE Remote" in Activities), or run sde-remote.

What the package installs:

ItemWhere
The app/opt/sde-remote/, with its own .NET runtime; the command /usr/bin/sde-remote
FreeRDP 3 (native RDP)/opt/sde-remote/freerdp/: the Classic client (xfreerdp) and the SDL client, built with the fixes the SDE gateway needs. It doesn't replace or use any FreeRDP from Ubuntu.
Web window/opt/sde-remote/sde-remote-web: the window for web sessions, admin pages, streaming and the SyOps page. It uses Ubuntu's WebKitGTK (gir1.2-webkit2-4.1) and Python.
Menu entry and links/usr/share/applications/sde-remote.desktop. It registers the app as the handler for sde-remote:// links (x-scheme-handler/sde-remote) for every user.
Icon/usr/share/icons/hicolor/256x256/apps/sde-remote.png
AppArmor profile (24.04 only)/etc/apparmor.d/sde-remote-web. Ubuntu 24.04 blocks the unprivileged user namespaces that WebKitGTK's sandbox needs; this profile allows them for the web window only, the same way Ubuntu does for browsers. The package loads it on install. On 22.04 it isn't needed and isn't installed.

The package also recommends the GStreamer plugin packages (gstreamer1.0-plugins-good, -bad, gstreamer1.0-libav) for sound and video in the web window. apt install adds them unless your apt configuration turns recommended packages off.

Internal certificate authorityIf your portal uses a certificate from your own CA, install the CA certificate system-wide (/usr/local/share/ca-certificates/, then sudo update-ca-certificates). The app, FreeRDP and the web window all trust the system store.

Deploying to many laptops

The .deb is an ordinary package, so any tool that runs apt install can deploy it (Ansible, Landscape, a script). To serve it from your own apt repository, add the file to the repository for the matching release; the package name is sde-remote.

5. First run

  1. Start SDE Remote. The sign-in window opens.
  2. In Guacamole URL (Windows) or Server (Guacamole URL) (Linux), enter the portal address, for example https://sde.example.org/guacamole.
  3. Enter the Username and Password of the user's domain account, and select Sign in.
  4. If the site asks for it, the user sets a new password or accepts the security operating procedures (SyOps). See the user guide.
  5. The main window, Your services, lists the user's tiles.
Screenshot: SDE Remote sign-in window on Windows, with the Guacamole URL, Username and Password filled in and Advanced collapsed

The app remembers the portal address and username for next time. It never saves the password. Leave Advanced alone on a normal site: the broker address is worked out from the portal address. The settings under it are in the settings reference.

Only one copy of SDE Remote runs per user. Starting it again (from the menu, a shortcut or a link) brings the running copy to the front and hands it the link.

6. Updates

The app doesn't update itself. After each sign-in it asks the gateway which version the site expects. If the app is older, the status bar at the bottom of the main window says:

SDE Remote 1.1.2 is available (you have 1.1.1). Click here to download it.

Clicking the message opens the release page in the browser. Nothing is downloaded or installed automatically: the user, or your MSI or apt rollout, installs the new version.

SettingWhat it doesDefaultNotes
SDE_APP_VERSIONThe app version this site expects, for example 1.1.2. Older apps show the notice.Empty: no noticeGateway environment. sde-install sets it from APP_VERSION in deploy/installer/versions.conf.
SDE_APP_DOWNLOAD_URLThe page the notice opens: the release page with the MSI and the .debs.Empty: the notice has no linkGateway environment, set by sde-install.

To update:

  • Windows: install the new MSI the same way as the first time (msiexec /i … /qn). It upgrades in place.
  • Linux: sudo apt install ./sde-remote_<new version>-1~noble_amd64.deb. If the package comes from your own apt repository, a normal sudo apt upgrade picks it up.

Settings and connection options carry over on both platforms. Close SDE Remote before updating, or ask users to restart it afterwards.

7. Uninstall

  • Windows: Settings → Apps → Installed apps → SDE Remote → Uninstall, or msiexec /x {ProductCode} /qn. This removes the program folder, the shortcuts the MSI made and the machine-wide link handler.
  • Linux: sudo apt remove sde-remote. This removes /opt/sde-remote, the menu entry and the AppArmor profile.

Neither removes the files each user's own copy wrote. Delete them if the PC is being handed on:

WhatWindowsLinux
Settings%AppData%\SdeRemote\~/.config/SdeRemote/
Logs and web profiles%LocalAppData%\SdeRemote\~/.local/share/SdeRemote/ and ~/.cache/SdeRemote/
Shortcuts the user made.url files on the user's Desktop~/.local/share/applications/sde-remote-*.desktop and .desktop files on the Desktop
Per-user link handlerHKCU\Software\Classes\sde-remoteNone (the package's entry is removed)

8. Troubleshooting

ProblemCause and fix
"A newer version of SDE Remote is already installed."The PC has a later version than the MSI you ran. Nothing to do, or uninstall first if you really need the older one.
Two SDE Remote icons on Windows, one of them oldThe old per-user script install is still there. Remove it (section 3).
apt says "Unable to locate package"The path didn't start with ./ or a folder, so apt looked for a package by that name. Use sudo apt install ./file.deb.
apt can't satisfy dependencies (for example libssl3t64 or libicu74 on 22.04)The ~noble file was used on 22.04, or ~jammy on 24.04. Install the file for the laptop's release.
Linux: web sessions, admin pages or the SyOps page don't open, and the status bar mentions WebKitGTK's sandbox or bwrapThe AppArmor profile isn't loaded. Reinstall the package (sudo apt install --reinstall ./file.deb), or load it by hand: sudo apparmor_parser -r /etc/apparmor.d/sde-remote-web. Details are in ~/.local/share/SdeRemote/web.log.
Clicking an sde-remote:// link does nothingWindows: start SDE Remote once (it registers the link for the user). Linux: check xdg-mime query default x-scheme-handler/sde-remote prints sde-remote.desktop. See Links and shortcuts.
"FreeRDP (…) was not found. Reinstall the sde-remote package"Files under /opt/sde-remote/freerdp are missing. Reinstall the package.
Windows: "FreeRDP stopped straight away (a DLL it needs is missing from the FreeRDP bundle …)"Files in C:\Program Files\SDE Remote\freerdp were removed or blocked, often by endpoint protection. Repair or reinstall the MSI, and allow the folder.
No update notice although a new version is outThe gateway's SDE_APP_VERSION is empty or still the old version. It needs gateway 1.0.11 or later.

person people found this useful.