Packaging-Wissen
PSADT-Exit-Codes richtig lesen
0, 3010, 1641, 1603: was die Rückgabecodes bedeuten, wie Intune sie interpretiert und wann ein Neustart ausgelöst wird.
Was Intune aus dem Exit-Code macht
Intune liest den Rückgabecode des Pakets und entscheidet: erfolgreich, erfolgreich mit Neustart, fehlgeschlagen, erneut versuchen. Diese Entscheidung hängt nicht davon ab, was im Log steht, sondern nur vom Code.
Deshalb ist ein Paket, das „durchgelaufen" ist, aber 0 meldet, obwohl der Installer 1603 zurückgegeben hat, ein falsch konfiguriertes Paket — nicht ein erfolgreiches.
Die vier Codes, die zählen
0 bedeutet Erfolg ohne Neustart. 3010 bedeutet Erfolg, Neustart erforderlich. 1641 bedeutet Erfolg, Neustart wurde bereits ausgelöst. 1603 bedeutet schwerer Fehler während der Installation.
Für Intune ist der Unterschied zwischen 3010 und 1641 relevant: Bei 3010 kann Intune den Neustart übernehmen, bei 1641 ist er schon angestoßen. Wer beides gleich behandelt, plant Neustarts doppelt oder gar nicht.
1603 und seine Ursachen
1603 ist kein einzelner Fehler, sondern ein Sammelcode. Häufige Ursachen: fehlende Rechte, eine Datei ist gesperrt, ein Vorgängerprodukt ist noch installiert, der Installer braucht eine Abhängigkeit oder das Zielverzeichnis ist nicht schreibbar.
Der Code sagt „es ging nicht", nicht „warum". Die Ursache steht im MSI-Log oder im Herstellerlog.
Weitere Codes, die man kennen sollte
1618 bedeutet, dass bereits eine andere Installation läuft — ein Zeichen für fehlende Serialisierung. 1602 bedeutet Abbruch durch den Benutzer, was bei einem stillen Lauf eigentlich nicht vorkommen sollte. 1625 weist auf eine Richtlinie hin, die die Installation blockiert.
Diese Codes sind keine Kuriosität: Sie erklären, warum ein Paket auf zehn Geräten läuft und auf dreien nicht.
Logging richtig lesen
Der Exit-Code steht am Ende des Laufs, die Ursache weiter oben. Wer nur den Code liest, weiß, dass es fehlschlug; wer das Log liest, weiß, an welcher Stelle. Beides gehört zusammen.
Testmatrix
Vier Fälle testen: Neuinstallation, Installation über eine vorhandene Version, Deinstallation und erneute Installation nach der Deinstallation. Jeder Fall braucht einen erwarteten Code. Ohne diese Matrix ist „läuft" eine Momentaufnahme.
---