Field notesUpdated October 13, 2026

Field note: the Motorola Flex launcher that "crashed" with exit code 0

The Flex (formerly Spillman) client launcher flashed for five seconds and vanished on one PC, and two reinstalls changed nothing. It wasn't crashing at all. The PC was missing a second product that every working PC had.

One workstation at a small agency stopped opening Flex, Motorola Solutions’ public safety suite (formerly Spillman Flex), which covers dispatch, records and mobile for police, fire and jails. The launcher window showed up for about five seconds and then disappeared. It did that for every user who signed in to that PC. Other workstations running the same client were fine, and this one had worked a few days earlier.

What it looked like

  • Double-click the shortcut, the launcher window appears, and about five seconds later it’s gone. No error message.
  • Same result for every user profile, so it wasn’t a profile problem.
  • A normal reinstall changed nothing. A deep uninstall and reinstall changed nothing either.

That second point is what made it so frustrating. With this client, the usual fix almost always works: uninstall, reinstall, make sure the client certificate is in place, then run it once as administrator so it can pull its own updates. Every one of those steps was done here, and it still vanished after five seconds. When the routine that usually works stops working, it’s a hint that you’re fixing the wrong thing.

The red herrings

This PC had plenty of things wrong with it that looked like they might matter:

  • A failed Windows feature update had rolled back and left the PC without its GPU driver.
  • A recent cumulative update had gone on around the time the trouble started. I uninstalled it. No change.
  • A registry key I came across while digging had blank values in it. It turned out to be unrelated.

Any one of those could have eaten an afternoon. None of them was the cause.

How it was found

The first useful clue was what wasn’t there. When an app crashes, Windows usually leaves something behind in the event log. There was nothing for this one.

So I ran Process Monitor while starting the launcher. It showed the launcher process exiting with status 0, and the launcher connecting to the Flex server over HTTPS before it quit. Exit code 0 is the conventional “finished successfully” result. The launcher wasn’t crashing. It was deciding to quit.

That changes the question from “what’s broken?” to “what is it looking for that it doesn’t find?” The fastest way to answer that was to compare against a PC where the client worked.

Two differences stood out right away:

  1. The shortcut pointed somewhere else. On the working PC, the desktop shortcut launched a different launcher, in a different install folder.
  2. The installed-programs list had two products, not one. The working PC had the old base client, from a package that was years old, plus the newer Flex suite from Motorola installed on top of it. The broken PC only had the old base client.

So every reinstall had faithfully put back the old base client and nothing else. The reinstalls weren’t failing. They were installing the wrong package.

The fix

The working PC still knew where the newer suite had been installed from. Each installed program has a subkey under the Uninstall key in the registry, and for Windows Installer packages the InstallSource value is the folder the install ran from. On the working PC, that folder still had the installer in it.

This lists the installed programs with their install source. The second path is where 32-bit programs register on 64-bit Windows:

Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*',
                 'HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*' |
    Where-Object DisplayName |
    Sort-Object DisplayName |
    Select-Object DisplayName, DisplayVersion, InstallSource

Run it on a working PC and a broken one and compare. That’s also a quick way to spot the “two products, not one” difference without clicking through Settings.

I copied the newer suite’s installer from that folder on the working PC to the broken one and installed it. The client opened right away.

What I took away from it

  • Exit code 0 with nothing in the event log means the app chose to quit. Stop looking for a crash and start looking at what it needs: config, prerequisites, or a companion product.
  • Compare against a working PC early. Check the shortcut’s target and the installed-programs list before you spend time on drivers and updates.
  • A reinstall only helps if it’s the right package. Some vendor clients are a base install plus a second product layered on top, and the shortcut people click belongs to the second one.
  • InstallSource can lead you to the installer. If the vendor’s download isn’t handy, a working PC may still have the package in the folder it was installed from.
  • Not every problem on a PC is the problem. A missing GPU driver and a fresh update were real, but they had nothing to do with this.

For finding where a program actually put its files on each PC, Everything makes the side-by-side comparison a lot faster.

Sources

All articles