Befehle, um MiKTeX ohne Rückfragen zu installieren, wieder zu entfernen und in Verteilungswerkzeugen zu erkennen. Ein Befehl erscheint nur, wenn er feststeht: aus dem Manifest oder als dokumentierter Standard der jeweiligen Installer-Technik.
Passende Anleitung: Silent-Install-Parameter: MSI, NSIS, Inno Setup · Programm über Registry oder PowerShell deinstallieren
Mit winget
PowerShell
winget install --id MiKTeX.MiKTeX -e --silent --accept-package-agreements --accept-source-agreementswinget upgrade --id MiKTeX.MiKTeX -e --silentwinget uninstall --id MiKTeX.MiKTeX -e --silentNach Installer
64-Bit · EXE · Aktueller Benutzer
Stille Installation
basic-miktex-25.12-x64.exe --unattended- Deinstallationsschlüssel in der Registry
- HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MiKTeX
64-Bit · EXE · Alle Benutzer
Stille Installation
basic-miktex-25.12-x64.exe --unattended- Deinstallationsschlüssel in der Registry
- HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MiKTeX
PowerShell: herunterladen, prüfen, installieren
Lädt die offizielle Datei herunter, prüft den SHA256-Hash und installiert still.
install-miktex.ps1
$url = 'https://miktex.org/download/ctan/systems/win32/miktex/setup/windows-x64/basic-miktex-25.12-x64.exe'
$sha256 = '14B42DD9F4B4A7813A8BFD69C8F99316C2888CC4EE26F631F397E163D85D6C62'
$file = Join-Path $env:TEMP 'basic-miktex-25.12-x64.exe'
Invoke-WebRequest -Uri $url -OutFile $file -UseBasicParsing
if ((Get-FileHash $file -Algorithm SHA256).Hash -ne $sha256) { throw 'SHA256 mismatch' }
Start-Process -FilePath $file -ArgumentList '--unattended' -Wait install-miktex.ps1
$url = 'https://miktex.org/download/ctan/systems/win32/miktex/setup/windows-x64/basic-miktex-25.12-x64.exe'
$sha256 = '14B42DD9F4B4A7813A8BFD69C8F99316C2888CC4EE26F631F397E163D85D6C62'
$file = Join-Path $env:TEMP 'basic-miktex-25.12-x64.exe'
Invoke-WebRequest -Uri $url -OutFile $file -UseBasicParsing
if ((Get-FileHash $file -Algorithm SHA256).Hash -ne $sha256) { throw 'SHA256 mismatch' }
Start-Process -FilePath $file -ArgumentList '--unattended' -Wait