Danke für den Tipp. Einige Anwendungen schreiben nach dem Installieren tatsächlich unter ...\App_Paths was rein. Aber leider ist es nicht immer so.
Leider musste ich nach dem Installieren (Installshield) einer von mir geschriebenen Anwendung feststellen, dass ich in der gesamten Registry den Dateinamen der EXE eigentlich nur an ganz wenigen Stellen wiederfinde. Und diese Stellen sind auf meinem XP-System:
HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\MUICache
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\Userdata\S-1-5...\Components\<Hexziffer>
HKEY_USERS\S-1-5...\Software\Microsoft\Windows\ShellNoRoam\MUICache
Der MUICache (was auch immer das ist) sieht ja ganz gut aus - dort finden wir die Aufrufpfade und die Namen der Anwendungen hübsch gelistet. Aber ich weiß nicht, wie verlässlich dieser Cache tatsächlich ist, um ihn generell auszulesen.
Caches haben die Eigenschaft, flüchtig zu sein.
Bleibt die Frage offen, woher wissen die ganzen Uninstaller dann, wo ihr Programm installiert wurde?
Nachtrag: Ich habe noch HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CurrentVersion\Installer\Folders
gefunden. Mal schauen, ob das auch bei älteren Betriebssystemen verwendet wird.