
Intune Win32 Apps neu gedacht
Ein modulares PowerShell-Framework für kontrollierbare, nachvollziehbare und wiederverwendbare Softwarebereitstellung mit Microsoft Intune
BlackMountain IT-Consulting · Technical Insights | Intune · PowerShell · Endpoint Management
Warum dieses Template?
Viele Win32-Pakete beginnen als einzelnes Installationsskript und wachsen mit jeder Sonderanforderung. Das Ergebnis ist häufig schwer testbar, schwer wartbar und nur mit viel Kontextwissen übertragbar. Das neue Intune-Win32-App-Template löst dieses Problem mit einer klaren Orchestrierung, kleinen fachlichen Arbeitsschritten, einheitlichen Rückgaben und zentralem Logging.
Vom Installationsskript zum Packaging-Framework
Das Template behandelt eine Win32-App nicht als monolithische Befehlsfolge, sondern als katalogisierte Prozesskette. Jeder Step übernimmt genau eine fachliche Aufgabe – etwa Voraussetzungen prüfen, Quellen bereitstellen, einen Hersteller-Installer ausführen, Konfigurationen setzen oder temporäre Daten bereinigen. Eine zentrale Core-Steuerung entscheidet, welche Steps in welcher Reihenfolge laufen und wie auf Fehler reagiert wird.
- Wiederverwendbar: Die Steuerungslogik bleibt stabil, während anwendungsspezifische Steps ausgetauscht werden.
- Testbar: Einzelne Arbeitsschritte oder frei definierte Step-Folgen lassen sich gezielt ausführen.
- Nachvollziehbar: Alle Schritte liefern ein standardisiertes Ergebnis und schreiben in ein gemeinsames Laufzeitlog.
- Intune-tauglich: Ein Einstiegspunkt normalisiert Exitcodes und verarbeitet auch Neustartanforderungen.
Die Architektur: vier Bausteine, klare Verantwortungen

Kontrollierter Ablauf statt impliziter Magie
Im Standardlauf arbeitet die Core den registrierten Katalog numerisch ab und stoppt beim ersten Fehler. Für Tests oder Reparaturläufe können mit -OnlySteps einzelne Steps ausgewählt werden. Dabei bleibt bewusst die Reihenfolge des Aufrufs erhalten: Aus 1,21,2,5 wird exakt 1 → 21 → 2 → 5. Mit -StopOnError:$false kann ein diagnostischer Lauf fortgesetzt werden, um mehrere Fehlerbilder in einem Durchgang sichtbar zu machen.


SYSTEM oder Benutzer? Der Kontext entscheidet


Praxisregel: Maschineninstallation als SYSTEM bereitstellen, Benutzerkonfiguration separat im Benutzerkontext ausführen. Ein SYSTEM-Prozess verwendet sein eigenes Profil – nicht das Profil des aktuell angemeldeten Benutzers. Genau diese Trennung verhindert schwer erkennbare Fehlkonfigurationen.
Observability von Anfang an
Jeder Step liefert dieselbe technische Sprache zurück: Success, ExitCode, Message und optional Data. Damit kann die Core unabhängig vom konkreten Installer bewerten, ob der Ablauf fortgesetzt, beendet oder als Neustartanforderung an Intune zurückgegeben werden soll. Ein zentrales Log unter einem neutralen Pfad wie C:\ProgramData\<Organisation>\IntunePackaging\Logs bündelt Start, Ende, Laufzeit, Meldungen und Fehler aller Steps.
- Fehler lassen sich einem konkreten Step statt nur dem Gesamtpaket zuordnen.
- Hersteller-Exitcodes können zentral interpretiert und für Intune normalisiert werden.
- Support und Paketentwicklung arbeiten mit demselben Diagnosemodell.
- Gezielte Wiederholungen reduzieren Testzeit und vermeiden unnötige Neuinstallationen.
Integration in Microsoft Intune
Für Intune bleibt die Bedienung bewusst einfach: Main.ps1 ist der einzige Einstiegspunkt für Install und Uninstall. Das Quellverzeichnis wird mit dem Microsoft Win32 Content Prep Tool in eine .intunewin-Datei verpackt. Die Detection bleibt separat und prüft ausschließlich den tatsächlich gewünschten Zielzustand – zum Beispiel Version, Datei, Registry-Wert oder eine belastbare Kombination daraus.
Install: powershell.exe -ExecutionPolicy Bypass -File Main.ps1 -Mode Install
Uninstall: powershell.exe -ExecutionPolicy Bypass -File Main.ps1 -Mode Uninstall
Das Qualitäts-Gate vor dem Rollout
- Quellen prüfen: Archive, Konfigurationsdateien und Abhängigkeiten liegen an dokumentierten relativen Pfaden.
- SYSTEM-Test durchführen: Alle maschinenweiten Steps laufen auf einem realistischen Testgerät ohne Benutzerprofil-Annahmen.
- User-Steps testen: Profilbezogene Konfigurationen werden in einer echten Benutzersitzung validiert.
- Exitcodes und Neustarts prüfen: Herstellerwerte werden korrekt interpretiert; 3010 wird nicht als generischer Fehler behandelt.
- Detection verifizieren: Sie erkennt Installation, Update und Entfernung reproduzierbar.
- Uninstall testen: Die Deinstallation entfernt den definierten Zielzustand, ohne fremde Daten zu beschädigen.
So wird aus dem Template ein Standard
Ob CAD-Suite, VPN-Client, Browser oder proprietäre Fachanwendung: Das Muster bleibt gleich. Entscheidend ist, dass ein Step klein, deterministisch und möglichst idempotent ist. Produktwissen gehört in den Step; Ablaufsteuerung, Logging und Fehlerbehandlung gehören in die gemeinsame Plattform. Dadurch wird neues Packaging nicht nur schneller, sondern auch reviewbarer und leichter an andere Administratorinnen und Administratoren übertragbar.
Das eigentliche Produkt ist nicht das einzelne Paket – sondern der verlässliche Prozess dahinter. Ein konsequent modularisiertes Win32-App-Template schafft die Grundlage für schnellere Tests, konsistente Diagnosen und kontrollierbare Rollouts. Wer Microsoft Intune als strategische Endpoint-Plattform betreibt, gewinnt damit einen skalierbaren Engineering-Ansatz statt einer Sammlung individueller Installationsskripte.
BlackMountain IT-Consulting
Modern Workplace · Endpoint Management · Automation
Wir machen komplexe Softwarebereitstellung transparent, wartbar und skalierbar.
