Dateisystem-Redirection
System32, SysWOW64 und Program Files (x86) sind keine kosmetischen Unterschiede. Sie entscheiden, welche Binaries und Pfade ein Prozess wirklich sieht.
Architektur
Viele scheinbar zufaellige Paketierungsfehler sind in Wahrheit Architekturfehler. Das betrifft nicht nur den Installer, sondern auch PowerShell, Detection, Registry-Views und Dateipfade.
System32, SysWOW64 und Program Files (x86) sind keine kosmetischen Unterschiede. Sie entscheiden, welche Binaries und Pfade ein Prozess wirklich sieht.
HKLM\Software und WOW6432Node muessen je nach Prozessarchitektur und Produktmodell unterschiedlich bewertet werden.
Ein 32-Bit-Host liest und schreibt nicht dieselbe Welt wie ein 64-Bit-Host. Detection-Skripte koennen dadurch korrekt aussehen und trotzdem am falschen Ort pruefen.
Ein x86-Produkt auf x64-Windows ist nicht automatisch falsch. Gefaehrlich wird es erst, wenn x86- und x64-Logik unbewusst vermischt werden.
Typische Bruchstellen
Diese Stellen erzeugen besonders oft Wiederangebote, Fehldetection oder unvollstaendige Deinstallationen.
Das Paket installiert korrekt, aber die Detection schaut im 64-Bit-Zweig, waehrend der Installer seine Daten unter WOW6432Node hinterlaesst.
Ein fester Pfad nach Program Files kann bei x86-Anwendungen auf x64-Systemen an der Realitaet vorbeigehen.
Im Deployment-System entscheidet oft nicht dein Code, sondern der aufrufende Host, ob du x86 oder x64 siehst.
Detection Recipes lesenEin x64-Paket kann ein vorhandenes x86-Paket uebersehen, wenn Uninstall- und Detection-Logik nur fuer eine Architektur gebaut wurden.
Updates und Supersedence lesen$is64BitOs = [Environment]::Is64BitOperatingSystem
$is64BitProcess = [Environment]::Is64BitProcess
"OS x64: $is64BitOs"
"Process x64: $is64BitProcess"
Pruefregeln
Architektur muss explizit dokumentiert werden, sonst wird sie spaeter geraten.
Das betrifft Dateipfade, Registry, Detection und Upgradepfad. "Lief in der Test-VM" reicht nicht als Beschreibung.
Es muss klar sein, ob Datei, Registry oder MSI-Nachweis aus 32-Bit- oder 64-Bit-Sicht bewertet wird.
Wenn Altversionen in unterschiedlicher Architektur vorkommen, muessen beide Pfade im Design mitgedacht sein.
Runtimes und Redistributables muessen zum Zielprodukt passen. Eine formal vorhandene, aber falsche Runtime hilft nicht.
Prerequisites lesenEin Detection-Skript wird als korrekt betrachtet, weil es lokal etwas findet. Im Deployment-System laeuft derselbe Code aber in einem anderen Prozessmodus und liefert ploetzlich "nicht installiert".
Wenn Dateien, Registry und Logs sich widersprechen, ist Architektur einer der ersten Punkte, die du aktiv pruefen solltest.
Troubleshooting lesenAuch x86- und x64-Varianten derselben App koennen unterschiedliche Wrapper, Signaturen oder Quellen mitbringen.
Security und Trust lesenMindestens eine reale Konstellation mit Altversion, korrekter Detection und Uninstall sollte pro Architekturtest abgedeckt sein.
Checkliste lesen