Installing the SDE Remote app
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.
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).
| Platform | File | Needs |
|---|---|---|
| Windows | SDE-Remote-<version>.msi | Windows 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.04 | sde-remote_<version>-1~jammy_amd64.deb | A desktop session (GNOME on X11 or Wayland). The package pulls in what it needs from the Ubuntu archive. |
| Ubuntu 24.04 | sde-remote_<version>-1~noble_amd64.deb | As 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
- Copy
SDE-Remote-<version>.msito the PC. - Double-click it and accept the Windows prompt for administrator rights. The MSI is installed for all users of the PC.
- When it finishes, open SDE Remote from the Start menu or the Desktop.
What the MSI installs:
| Item | Where |
|---|---|
| The app | C:\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\ |
| Shortcuts | SDE Remote in the all-users Start menu and on the all-users Desktop |
| Link handler | HKLM\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 markers | HKLM\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:
| Task | Command |
|---|---|
| Install or upgrade | msiexec /i SDE-Remote-<version>.msi /qn |
| Install with a log | msiexec /i SDE-Remote-<version>.msi /qn /l*v install.log |
| Uninstall | msiexec /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.
{ "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
- Download the file for the laptop's Ubuntu release:
~jammyfor 22.04,~noblefor 24.04. Check the release withlsb_release -cs. - 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 - Check it:
It prints the app version, for examplesde-remote --version1.1.2. - Open SDE Remote from the applications menu (search for "SDE Remote" in Activities), or run
sde-remote.
What the package installs:
| Item | Where |
|---|---|
| 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.
/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
- Start SDE Remote. The sign-in window opens.
- In Guacamole URL (Windows) or Server (Guacamole URL) (Linux), enter the portal address, for example
https://sde.example.org/guacamole. - Enter the Username and Password of the user's domain account, and select Sign in.
- If the site asks for it, the user sets a new password or accepts the security operating procedures (SyOps). See the user guide.
- The main window, Your services, lists the user's tiles.
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.
| Setting | What it does | Default | Notes |
|---|---|---|---|
SDE_APP_VERSION | The app version this site expects, for example 1.1.2. Older apps show the notice. | Empty: no notice | Gateway environment. sde-install sets it from APP_VERSION in deploy/installer/versions.conf. |
SDE_APP_DOWNLOAD_URL | The page the notice opens: the release page with the MSI and the .debs. | Empty: the notice has no link | Gateway 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 normalsudo apt upgradepicks 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:
| What | Windows | Linux |
|---|---|---|
| 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 handler | HKCU\Software\Classes\sde-remote | None (the package's entry is removed) |
8. Troubleshooting
| Problem | Cause 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 old | The 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 bwrap | The 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 nothing | Windows: 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 out | The gateway's SDE_APP_VERSION is empty or still the old version. It needs gateway 1.0.11 or later. |
9. Related pages
- SDE Remote user guide: signing in, tiles, sessions, logs and error messages
- SDE Remote settings reference: every option, its default, and the gateway settings that override it
- Links and desktop shortcuts to SDE Remote
- SDE VDI setup guide and SDE vApps setup guide
person people found this useful.