Es wäre mal hilfreich, den jeweiligen Installationspfad zu sehen, vielleicht ergibt sich ja dann was Sinnvolles.
Problematisch halte ich den Zweig in der Registry:
HKEY_LOCAL_MACHINE\SOFTWARE\microsoft\Windows\CurrentVersion\Uninstall\Mozilla Firefox 83.0 (x86 de)
Anstatt das einfach immer Mozilla Firefox zu nennen (winrar ist vor Jahren mal dazu übergegangen), macht man es sich unnötig kompliziert. Auf der anderen Seite wäre dann aber auch keine Trennung zwischen den unterschiedlichen Builds möglich, also kommt Versionsnummer und Architektur rein.
Um einen Fehler zu suchen und zu verstehen, müsste man diesen Code durchackern, der zudem noch sehr aufgeteilt ist
https://hg.mozilla.org/mozilla-centra…s/installer.nsi
Der Installer/Uninstaller orientiert sich an diesen Daten:
[HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox]
@="83.0"
"CurrentVersion"="83.0 (x86 de)"
[HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox\83.0 (x86 de)]
@="83.0 (x86 de)"
Und daraus setzt es sich dann zusammen
HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${BrandFullNameInternal} ${AppVersion}$3 (${ARCH} ${AB_CD})"
Und jede neue Version liest erst mal diese Daten aus, löscht das alte, und schreibt neue Daten dort rein später.
Es gäbe eigentlich nur eine Möglichkeit - es wurde einmal nur für den entsprechenden Benutzer installiert (UAC verneint), und einmal für alle. Der Unterschied wäre HKLM <> HKCU, und das sieht man in den Installationspfaden.