Windows deployment

The SUMA Windows app is a WPF + WebView2 console packaged with an Inno Setup installer (SUMA-Setup.exe). This page covers unattended installation and rolling it out across an organisation with Microsoft Intune or any other software-distribution tool.

  • Generic installer: SUMA-Setup.exe — tenant-agnostic; the Callable address is supplied at install time (/HOST=) or entered on first launch.
  • Pre-configured installer: downloaded from a tenant's own download page, with the address baked into the filename — no /HOST= needed.

Installer facts

Installer engineInno Setup 6
Default scopePer-user (no admin rights required)
Default install path%LOCALAPPDATA%\Programs\Callable\SUMA
ExecutableSuma.exe
App ID (uninstall key){7E2B9F4C-3A61-4D2E-9C10-5F8B1A6D4E77}_is1
WebView2 runtimeAuto-detected; the Evergreen bootstrapper is fetched only if missing
UpdatesBuilt-in self-updater (silent, per-user — no UAC)

The app is per-user by design so agents without local admin can install and self-update it without an elevation prompt mid-shift. That makes a user-context deployment the natural fit for Intune (see below). A per-machine install is possible but has a caveat for host seeding — see Device (SYSTEM) context.

Silent install

Inno Setup silent switches:

SUMA-Setup.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-
SwitchEffect
/VERYSILENTNo UI and no progress window
/SUPPRESSMSGBOXESSuppress message boxes (use with /VERYSILENT)
/NORESTARTNever reboot automatically
/SP-Skip the "This will install…" prompt
/LOG="C:\Temp\suma.log"Write a verbose install log (useful for packaging)
/HOST=<domain>Pre-seed the Callable address (see below)

Pre-seeding the tenant address

So agents never have to type a hostname, pass the tenant with /HOST=:

SUMA-Setup.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /HOST=acme.callable.io

This writes %APPDATA%\Callable\SUMA\host.txt, which the app reads once to fill a blank address. It only seeds a blank — it never overrides an address an agent or admin has already set, and it is preserved across updates.

If you distribute the pre-configured installer (filename SUMA-Setup-acme.callable.io.exe), the host is parsed from the filename and /HOST= is not needed. /HOST= always wins if both are present.

Packaging for Intune (Win32 app)

  1. Wrap the installer with the Microsoft Win32 Content Prep Tool:

    IntuneWinAppUtil.exe -c <folder-with-exe> -s SUMA-Setup.exe -o <output-folder>
    
  2. In Intune → Apps → Windows → Add → Windows app (Win32), upload the .intunewin and set:

    Install command

    SUMA-Setup.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /HOST=acme.callable.io
    

    Uninstall command

    "%LOCALAPPDATA%\Programs\Callable\SUMA\unins000.exe" /VERYSILENT /SUPPRESSMSGBOXES /NORESTART
    

    Install behavior: User — matches the per-user install and lets /HOST= seed each user's profile. Return code 0 = success; 3010 = success (soft reboot).

  3. Detection rule (any one):

    • Registry — key exists:
      HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall\{7E2B9F4C-3A61-4D2E-9C10-5F8B1A6D4E77}_is1
      
      Optionally check its DisplayVersion string value ≥ the version you shipped.
    • File — %LOCALAPPDATA%\Programs\Callable\SUMA\Suma.exe exists (optionally version ≥ x.y.z).

Device (SYSTEM) context

A per-machine install (/ALLUSERS + elevation → C:\Program Files\Callable\SUMA) is supported, but /HOST= seeds host.txt into the installing account's profile — under SYSTEM that is not any agent's profile, so the seed won't reach users and they'll enter the address on first launch. If you must deploy in device context and still pre-seed, push host.txt to each user separately (e.g. a per-user Intune config / logon script writing %APPDATA%\Callable\SUMA\host.txt). For most fleets, user-context + /HOST= is simpler and recommended.

Manual silent uninstall

"%LOCALAPPDATA%\Programs\Callable\SUMA\unins000.exe" /VERYSILENT /SUPPRESSMSGBOXES /NORESTART

Updates

The app updates itself silently in the background (per-user, no UAC), so you do not need to push new versions through Intune — though you can, and a newer package simply supersedes the installed build.