Eine Windows-Anwendung verlangt beim Start eine bestimmte .NET-Version. Ein Java-Programm meldet, dass keine passende Java-Laufzeit vorhanden sei. Das Webprojekt findet Node.js nicht, obwohl JavaScript im Browser funktioniert. Oder eine PHP-Anwendung läuft auf dem eigenen Rechner, scheitert aber beim Hoster. Hinter solchen Fällen steckt häufig dieselbe Grundfrage: Welche technische Umgebung erwartet das Programm während seiner Ausführung?

Eine Laufzeitumgebung ist die technische Umgebung, die ein Programm während der Ausführung benötigt, damit Code, Bibliotheken, Systemfunktionen und Abhängigkeiten korrekt zusammenarbeiten. Sie kann einen Interpreter oder eine virtuelle Maschine, Standardbibliotheken, Speicherverwaltung, Systemzugriffe, Konfigurationen und einen bestimmten Versionsstand umfassen. Welche Bestandteile tatsächlich dazugehören, hängt von der jeweiligen Plattform ab.
Viele Programme enthalten nicht sämtliche benötigten Funktionen selbst. Sie greifen auf eine gemeinsam installierte Plattform zurück, die beispielsweise Dateien öffnet, Netzwerkverbindungen bereitstellt, Speicher verwaltet oder Programmcode in prozessortaugliche Anweisungen übersetzt. Andere Anwendungen werden selbstenthaltend ausgeliefert und bringen ihre Runtime mit. Deshalb bedeutet „Runtime installiert“ weder automatisch „richtige Runtime“ noch „vom Programm auffindbar“.
Laufzeitumgebung verstehen: Bestandteile, Aufgaben und klare Abgrenzungen
Das Betriebssystem stellt zwar Prozesse, Speicher, Dateisysteme, Netzwerkfunktionen und Gerätetreiber bereit. Es versteht aber nicht zwangsläufig das Ausführungsmodell jeder Anwendung. Ein Java-Bytecode-Programm benötigt beispielsweise eine passende Java Virtual Machine. Eine frameworkabhängige .NET-Anwendung erwartet eine kompatible .NET Runtime. Ein Node.js-Projekt braucht Node.js und meist zusätzliche Projektpakete. Die Runtime bildet dabei eine Plattformschicht zwischen Anwendung, Bibliotheken, Betriebssystem und Prozessor.
Diese Bestandteile können zu einer Runtime gehören
Der Begriff bezeichnet keine überall identische Komponentenliste. Eine native C++-Anwendung nutzt eine andere Art von Laufzeit als ein Java-, Python- oder Node.js-Programm. Für die praktische Fehlersuche hilft dennoch eine Aufteilung in typische Ebenen:
- Interpreter oder virtuelle Maschine: Ein Interpreter verarbeitet Quellcode oder eine Zwischenrepräsentation während der Ausführung. Eine virtuelle Maschine definiert ein abstrahiertes Ausführungsmodell, etwa für Java-Bytecode. Die technische Grenze zwischen beiden Konzepten ist plattformabhängig.
- Standardbibliotheken und APIs: Sie liefern wiederverwendbare Funktionen für Zeichenketten, Dateien, Netzwerkzugriffe, Zeitberechnung, Kryptografie, Datenstrukturen oder Benutzeroberflächen. Die Anwendung muss diese Grundfunktionen nicht vollständig selbst implementieren.
- Systemzugriffe: Die Runtime vermittelt zwischen Programmcode und Betriebssystemfunktionen, beispielsweise beim Öffnen einer Datei, Starten eines Prozesses oder Anlegen einer Netzwerkverbindung. Das garantiert jedoch keine vollständige Plattformunabhängigkeit.
- Paket- und Bibliotheksabhängigkeiten: Zusätzlich zur Grundlaufzeit kann ein Projekt npm-Pakete, Python-Module, Composer-Pakete, NuGet-Bibliotheken, PHP-Erweiterungen oder native DLLs benötigen. Eine vorhandene Runtime schließt fehlende Zusatzpakete nicht aus.
- Konfiguration und Umgebungsvariablen: Suchpfade, Betriebsmodi, Zugangsdaten, Arbeitsverzeichnisse oder Bibliothekspfade beeinflussen, welche Runtime und welche Ressourcen ein Prozess tatsächlich verwendet.
- Versions- und Patchstand: Verfügbare APIs, unterstützte Bytecodeformate, Sicherheitskorrekturen und kompatible Paketversionen hängen von der Laufzeitversion ab. „Installiert“ ist deshalb erst dann aussagekräftig, wenn Familie, Version und Architektur feststehen.
Welche Aufgaben die Laufzeit während des Programmstarts übernimmt
Beim Start einer Anwendung muss die Runtime unter anderem Programmdateien und benötigte Bibliotheken finden, laden und miteinander verknüpfen. Sie prüft, welche Funktionen verfügbar sind, löst Methoden- oder Funktionsaufrufe auf und vermittelt Zugriffe auf das Betriebssystem. Fehlt eine erwartete Bibliothek oder besitzt sie eine unpassende Version, kann der Start bereits vor der sichtbaren Programmoberfläche abbrechen.
Verwaltete Laufzeiten wie die JVM oder die .NET Common Language Runtime können zudem Objekte und Speicher verwalten. Eine Garbage Collection gibt Speicher frei, der nicht mehr verwendet wird. Typprüfungen und weitere Kontrollmechanismen können bestimmte ungültige Operationen erkennen. Diese Leistungen sind typisch für verwaltete Plattformen, aber keine universellen Merkmale jeder Runtime.
Auch Just-in-Time-Kompilierung ist plattformabhängig. Dabei wird eine Zwischenrepräsentation während der Ausführung in Maschinencode für den vorhandenen Prozessor übersetzt. Andere Laufzeiten interpretieren Code, nutzen vorab kompilierten Maschinencode oder kombinieren mehrere Verfahren. Die Fehlermeldung „Runtime fehlt“ verrät daher noch nicht, welcher technische Baustein konkret fehlt.
Java, .NET, Node.js, Python, PHP und Visual C++ richtig einordnen
Java bezeichnet sowohl eine Programmiersprache als auch eine Plattform. Java-Quellcode wird üblicherweise in Bytecode übersetzt, den eine Java Virtual Machine, kurz JVM, ausführt. Das klassische Java Runtime Environment, kurz JRE, umfasst die JVM, Bibliotheken und weitere Laufzeitkomponenten. Das Java Development Kit, kurz JDK, ergänzt Entwicklungswerkzeuge wie Compiler und Diagnoseprogramme. JVM, JRE und JDK sind deshalb keine Synonyme.
Bei moderner Java-Software ist „JRE installieren“ nicht immer die richtige oder überhaupt vorgesehene Lösung. Oracle JDK 11 enthält kein separates JRE-Image mehr. Anwendungen können ein JDK voraussetzen, eine andere Java-Distribution unterstützen oder mit einem angepassten Runtime-Image ausgeliefert werden. Prüfen Sie daher die verlangte Java-Hauptversion, Architektur, Distribution und Auslieferungsform in der Dokumentation der Anwendung.
.NET ist eine Plattform aus Laufzeit, Bibliotheken, Sprachen und Werkzeugen. Die .NET Runtime führt fertige Anwendungen aus; das .NET SDK enthält zusätzlich Werkzeuge zum Erstellen, Testen und Veröffentlichen. Ein Endnutzer benötigt für eine fertige Anwendung daher nicht automatisch das gesamte SDK. Außerdem sind modernes .NET und das ältere, Windows-bezogene .NET Framework nicht einfach austauschbar.
Unter modernem .NET existieren verschiedene Laufzeitpakete für allgemeine Anwendungen, Windows-Desktopprogramme und ASP.NET-Core-Anwendungen. Eine Meldung wie „.NET erforderlich“ reicht deshalb nicht für eine sichere Auswahl. Entscheidend sind der verlangte Runtime-Typ, die Hauptversion und die Architektur. Frameworkabhängige Programme greifen auf eine installierte Laufzeit zurück; selbstenthaltende Ausgaben bringen ihre eigene Kopie mit.
Node.js ist keine Programmiersprache. JavaScript ist die Sprache, Node.js die Laufzeitumgebung, die unter anderem die V8-Engine außerhalb des Browsers ausführt und eigene System-, Datei-, Netzwerk- und Ein-/Ausgabe-APIs bereitstellt. Browser und Node.js verstehen zwar JavaScript, stellen aber nicht dieselben APIs zur Verfügung. npm wiederum ist ein Paketmanager und Teil des zugehörigen Ökosystems, nicht die Sprache oder Runtime selbst.
Python benötigt einen passenden Interpreter und die vom Projekt verwendeten Bibliotheken. Virtuelle Umgebungen isolieren Paketstände verschiedener Projekte, damit beispielsweise Anwendung A eine andere Bibliotheksversion verwenden kann als Anwendung B. Eine solche Umgebung basiert auf einer vorhandenen Python-Installation und ersetzt weder das Betriebssystem noch jede native Abhängigkeit.
PHP kann auf der Kommandozeile, als Webservermodul oder über CGI beziehungsweise FastCGI ausgeführt werden. Bei einer Website zählt nicht nur die PHP-Version auf dem Entwicklungsrechner, sondern vor allem die Laufzeit des Zielservers. PHP-Version, aktivierte Erweiterungen, Konfigurationswerte, Dateirechte und Serveranbindung können beim Hoster deutlich abweichen.
Visual C++ Redistributables installieren gemeinsam genutzte C- und C++-Laufzeitbibliotheken, die viele mit Microsoft-Werkzeugen erstellte Windows-Anwendungen benötigen. Sie sind kein Entwicklungsprogramm und keine virtuelle Maschine. Mehrere Einträge können parallel erforderlich sein, weil Anwendungen für unterschiedliche Toolset-Familien und Architekturen erstellt wurden.
Programmiersprache, IDE, SDK und Runtime erfüllen verschiedene Aufgaben
Eine Programmiersprache legt Syntax und Sprachregeln fest. Die Runtime führt den daraus erzeugten Code aus oder stellt dafür notwendige Dienste bereit. Eine Entwicklungsumgebung wie IntelliJ IDEA, Visual Studio oder Visual Studio Code hilft beim Schreiben, Navigieren, Testen und Debuggen. Sie ersetzt nicht automatisch die Zielruntime, auch wenn sie Installationen erkennen oder über Erweiterungen ansteuern kann.
Ein SDK richtet sich primär an Entwickler und enthält typischerweise Compiler, Buildwerkzeuge, Vorlagen und Diagnosefunktionen. Ein Paketmanager beschafft zusätzliche Bibliotheken für ein Projekt. Das Betriebssystem stellt die allgemeine Prozess- und Gerätebasis bereit. Erst das Zusammenspiel dieser Ebenen erklärt, warum ein moderner Rechner eine Anwendung trotz ausreichender Hardware und aktuellem Betriebssystem nicht zwangsläufig starten kann.
Versionen, Architektur und Abhängigkeiten: Warum eine vorhandene Runtime trotzdem nicht genügt
Ein Programm erwartet nicht irgendeine Runtime, sondern eine technisch passende Kombination aus Runtime-Familie, Version, Architektur und Zusatzabhängigkeiten. Installiert ist beispielsweise .NET, verlangt wird aber .NET Framework oder eine bestimmte Desktop Runtime. Java ist vorhanden, doch die JVM ist älter als der Bytecode. Node.js startet, aber ein Projektpaket fehlt. Das Betriebssystem kann solche Unterschiede nicht eigenständig ausgleichen.
Hauptversion, Patchstand und Prozessorarchitektur getrennt prüfen
Haupt-, Neben- und Patchversionen haben je nach Plattform unterschiedliche Folgen. Ein Patchupdate innerhalb einer unterstützten Linie beseitigt häufig Fehler und Sicherheitslücken, ohne die öffentliche Schnittstelle grundsätzlich zu verändern. Eine neue Hauptversion kann APIs entfernen, Verhalten ändern oder andere Paketversionen verlangen. Daraus folgt weder, dass jede neuere Runtime inkompatibel ist, noch dass sie ältere Versionen immer ersetzt.
Ein anschauliches Java-Beispiel ist der UnsupportedClassVersionError. Er kann auftreten, wenn eine Klassendatei für eine neuere Java-Version erzeugt wurde, deren Format die vorhandene JVM nicht unterstützt. Java ist dann durchaus installiert, aber die installierte Laufzeit ist für genau diesen Code zu alt. Umgekehrt kann Altsoftware an entfernten Komponenten oder geänderten Schnittstellen einer neueren Umgebung scheitern.
Bei einer frameworkabhängigen .NET-Anwendung legt das Ziel der Anwendung fest, welche Runtime grundsätzlich erwartet wird. Die Plattform besitzt Regeln dafür, ob und wie auf eine andere installierte Version ausgewichen werden darf. Eine beliebige neuere Hauptversion ist deshalb kein garantierter Ersatz. Hinzu kommt der Runtime-Typ: Eine allgemeine .NET Runtime enthält nicht zwangsläufig alle Komponenten, die eine Windows-Desktopanwendung benötigt.
Bei x86, x64 und ARM64 zählt die Zielarchitektur des ausgeführten Programms. Eine 32-Bit-Anwendung kann auf einem 64-Bit-Windows-System weiterhin eine x86-Laufzeitbibliothek benötigen. Das installierte x64-Paket ersetzt diese nicht automatisch. Bei nativen Modulen müssen Anwendung, Modul und Runtime ebenfalls zueinander passen. Prüfen Sie deshalb nicht nur die Betriebssystemarchitektur, sondern die Architektur des betroffenen Prozesses.
Mehrere Runtime-Versionen parallel zu installieren, kann bewusst vorgesehen sein. Unterschiedliche Anwendungen oder Projekte benötigen möglicherweise verschiedene Hauptversionen und Paketstände. Probleme entstehen vor allem dann, wenn ein Launcher, eine virtuelle Umgebung, ein Dienst oder die PATH-Variable eine andere Installation auswählt als erwartet. Eine Bereinigung allein nach Versionsnummer kann funktionierende Altsoftware beschädigen.
Diagnosematrix: Von der Fehlermeldung zur sicheren nächsten Handlung
Erfassen Sie zuerst den vollständigen Wortlaut der Meldung, den Namen der Anwendung, die verlangte Runtime-Familie, die Version und die Zielarchitektur. Installieren, löschen oder ändern Sie erst danach etwas. Die folgende Matrix trennt Fehlerbilder, die im Alltag ähnlich wirken, technisch aber verschiedene Ursachen besitzen.
| Fehlerbild oder Meldung | Zuerst prüfen | Wahrscheinliche Ursache | Sichere nächste Handlung | Riskante Kurzschlussreaktion |
|---|---|---|---|---|
| „Runtime missing“, „Runtime not installed“ oder vergleichbare Startmeldung | Exakte Bezeichnung, Versionsnummer, Herstellerdokumentation und Architektur der Anwendung | Benötigte Laufzeit ist tatsächlich nicht installiert oder die Anwendung wurde frameworkabhängig ausgeliefert | Nur die ausdrücklich verlangte Runtime-Familie aus einer offiziellen beziehungsweise vom Anbieter genannten Quelle auswählen | Mehrere ähnlich benannte Runtime-Pakete auf Verdacht installieren |
| .NET wird verlangt, obwohl bereits „.NET“ installiert ist | Modernes .NET oder .NET Framework, Desktop-, ASP.NET-Core- oder allgemeine Runtime, Hauptversion und x86/x64/ARM64 | Falsche .NET-Familie, falscher Runtime-Typ oder nicht erfüllte Versionsauswahl | Anforderungen der konkreten Anwendung ermitteln und installierte Runtimes damit abgleichen | SDK, .NET Framework und moderne .NET Runtime als austauschbar behandeln |
| Java meldet eine nicht unterstützte Klassendateiversion | Version der tatsächlich gestarteten JVM und vom Programm verlangte Java-Version | Programm wurde für eine neuere Bytecodeversion erstellt als die vorhandene JVM versteht | Vom Anbieter freigegebene Java-Version verwenden oder eine passend erstellte Programmausgabe anfordern | Die JAR-Datei verändern oder wahllos alte und neue Java-Installationen löschen |
| Anwendung startet nach Runtime-Installation weiterhin nicht | Zielarchitektur des Programms und Architektur des installierten Laufzeitpakets | x86-, x64- oder ARM64-Paket passt nicht zum ausgeführten Prozess | Passende Architektur zusätzlich oder anstelle des falschen Pakets installieren, sofern der Anbieter dies vorsieht | Automatisch x64 wählen, nur weil Windows als 64-Bit-System installiert ist |
node, python, java, dotnet oder php wird nicht gefunden | Ob die Runtime installiert ist, in welchem Kontext der Befehl läuft und welche Suchpfade dort gelten | Installation fehlt, liegt außerhalb von PATH oder ist nur für einen anderen Benutzer beziehungsweise Prozess sichtbar | Installationsort und Befehlsauflösung dokumentiert prüfen; eine neue Shell oder den betroffenen Dienst danach gezielt neu starten | PATH global überschreiben oder unbekannte Verzeichnisse ungeprüft voranstellen |
| Ein Versionsbefehl zeigt eine andere Ausgabe als erwartet | Reihenfolge der Suchpfade, aktive virtuelle Umgebung, Launcher und mehrere Installationen | Eine andere Runtime-Installation wird zuerst gefunden | Den tatsächlich aufgelösten Programmstandort bestimmen und Projekt oder Launcher auf die vorgesehene Version ausrichten | Alle anderen Versionen deinstallieren, ohne abhängige Programme zu prüfen |
| „Module not found“, „package missing“ oder Importfehler | Projektmanifest, Sperrdatei, virtuelle Umgebung und Installationsstatus der Abhängigkeiten | Runtime ist vorhanden, aber ein npm-, Python-, Composer- oder anderes Projektpaket fehlt | Abhängigkeiten nach Projektvorgabe im richtigen Projekt- und Benutzerkontext wiederherstellen | Eine andere Runtime installieren, obwohl die Meldung ein konkretes Paket nennt |
| DLL, Shared Library oder natives Add-on kann nicht geladen werden | Dateiname, Architektur, Betriebssystem, Visual-C++-Runtime und Version des nativen Moduls | Native Bibliothek fehlt, besitzt die falsche Architektur oder wurde für eine inkompatible Plattform erstellt | Herstellerpaket reparieren, vorgesehene native Runtime ergänzen oder ein kompatibles Modul verwenden | Einzelne DLL-Dateien aus unbekannten Downloadquellen in Systemordner kopieren |
| Lokale Entwicklung funktioniert, Server oder Dienst scheitert | Runtime-Version, Erweiterungen, Umgebungsvariablen, Arbeitsverzeichnis, Rechte und Dienstkonto auf beiden Systemen | Zielumgebung weicht von der lokalen Entwicklungsumgebung ab | Umgebungen Punkt für Punkt vergleichen und die Bereitstellung reproduzierbar konfigurieren | Nur den lokalen Versionsbefehl als Kompatibilitätsbeleg verwenden |
| Hosting unterstützt die benötigte PHP- oder Node.js-Version nicht | Angebotene Versionen, Umschaltmöglichkeiten, Erweiterungen, Shellzugang und Paketinstallation | Der Tarif oder die Serverplattform stellt die Projektvoraussetzungen nicht bereit | Projekt auf eine unterstützte Version migrieren, Tarif beziehungsweise Server anpassen oder kompatiblen Hoster wählen | Produktivdateien auf eine nicht freigegebene Version zwingen oder Serverkonfigurationen blind kopieren |
PATH, Pakete und Prozesskontext als getrennte Fehlerquellen behandeln
Die PATH-Variable enthält Verzeichnisse, in denen das System nach ausführbaren Programmen sucht. Sind mehrere Java-, Python-, PHP- oder Node.js-Installationen vorhanden, kann die Reihenfolge darüber entscheiden, welche Version ein Befehl startet. „Befehl nicht gefunden“ beweist lediglich, dass im aktuellen Suchkontext kein passender Eintrag aufgelöst wurde. Die Runtime kann trotzdem installiert und für eine grafische Anwendung oder einen anderen Benutzer erreichbar sein.
Berücksichtigen Sie außerdem den Prozesskontext. Eine interaktive Shell, ein Windows-Dienst, ein Webserver, ein Container und ein Hostingprozess können unterschiedliche Benutzerkonten, Umgebungsvariablen und Suchpfade besitzen. Dass php -v, node --version, java -version, python --version oder dotnet --list-runtimes in Ihrem Terminal eine plausible Ausgabe liefert, beweist nicht, dass der betroffene Dienst dieselbe Installation nutzt.
Projektabhängigkeiten bilden eine weitere Ebene. Ein Node.js-Projekt kann eine passende Node-Version besitzen und dennoch wegen fehlender npm-Pakete abbrechen. Ein Python-Interpreter kann starten, während ein Modul in der aktiven virtuellen Umgebung fehlt. Eine PHP-Anwendung kann am fehlenden Datenbank- oder Grafikmodul scheitern. Solche Fälle lösen Sie über das Projektmanifest, die dokumentierte Paketinstallation oder die Serverkonfiguration – nicht durch den Austausch einer funktionierenden Grundruntime.
Vergleichen Sie bei lokalen und serverseitigen Fehlern mindestens Runtime-Version, Architektur, Betriebssystem, Erweiterungen, Paketstände, Umgebungsvariablen, Dateirechte und Arbeitsverzeichnis. Gerade bei PHP- und Node.js-Hosting kann derselbe Quellcode in zwei technisch unterschiedlichen Umgebungen laufen. Eine reproduzierbare Bereitstellung ist belastbarer als die Annahme, der Server werde sich wie der Entwicklungsrechner verhalten.
Laufzeiten sicher verwalten: Updates, Altversionen und die wichtigsten Antworten
Updates schließen Risiken, können aber Kompatibilität verändern
Nicht mehr unterstützte Laufzeiten erhalten in der Regel keine regulären Sicherheitskorrekturen mehr. Mit der Zeit können außerdem Paketquellen, Bibliotheken und Betriebssysteme die Unterstützung einstellen. Eine veraltete Runtime sollte deshalb nicht unbeobachtet dauerhaft produktiv bleiben. Eine hohe Versionsnummer allein ist allerdings keine Sicherheitsgarantie; entscheidend sind Supportstatus, Patchstand und eine gepflegte Anwendung.
Patchupdates innerhalb einer unterstützten Versionslinie lassen sich häufig mit geringerem Risiko einspielen als ein Wechsel der Hauptversion. Trotzdem gelten die Regeln der jeweiligen Plattform. Testen Sie besonders Altsoftware, Plugins, native Erweiterungen und automatisierte Buildprozesse. Ein unvorbereiteter Hauptversionswechsel kann eine Sicherheitslücke schließen und gleichzeitig die Anwendung durch entfernte APIs oder inkompatible Module außer Betrieb setzen.
Bei selbstenthaltenden oder gebündelten Anwendungen aktualisiert ein systemweites Runtime-Update die mitgelieferte Kopie nicht zwingend. Dann muss der Softwareanbieter eine neue Anwendungsversion bereitstellen oder die Anwendung mit einer aktualisierten Runtime neu veröffentlicht werden. Aktualisieren Sie daher nicht nur zentrale Java-, .NET- oder andere Installationen, sondern auch die Programme, die ihre Laufzeit selbst mitbringen.
Alte Laufzeitversionen erst nach einer Abhängigkeitsprüfung entfernen
Mehrere Runtime-Versionen sind nicht automatisch Datenmüll. Sie können eine bewusste Kompatibilitätsvoraussetzung sein. Gehen Sie vor einer Bereinigung kontrolliert vor:
- Dokumentieren Sie installierte Runtime-Familien, Versionen und Architekturen, bevor Sie Änderungen vornehmen.
- Identifizieren Sie Anwendungen, Dienste, Entwicklungsprojekte und Serverprozesse, die auf diese Laufzeiten zugreifen.
- Prüfen Sie Herstelleranforderungen und klären Sie, ob eine neuere Version ausdrücklich unterstützt wird.
- Sichern Sie Konfigurationen und halten Sie einen Wiederherstellungs- oder Neuinstallationsweg bereit.
- Testen Sie nach der Änderung alle betroffenen Programme, Dienste, geplanten Aufgaben und Webanwendungen.
Häufige Fragen zu Runtime und Laufzeitumgebung
Was bedeutet Runtime?
Runtime bedeutet wörtlich „Laufzeit“. Je nach Kontext bezeichnet der Begriff die Phase, in der ein Programm ausgeführt wird, oder die dafür benötigte Laufzeitumgebung. Eine Fehlermeldung wie „Runtime missing“ meint normalerweise, dass eine erwartete Ausführungsplattform oder Laufzeitbibliothek fehlt beziehungsweise nicht gefunden wird.
Was ist eine Laufzeitumgebung?
Sie ist die technische Umgebung, die ein Programm während der Ausführung benötigt, damit Code, Bibliotheken, Systemfunktionen und Abhängigkeiten zusammenarbeiten. Dazu können eine virtuelle Maschine oder ein Interpreter, Standardbibliotheken, Konfigurationen und Speicherverwaltungsdienste gehören.
Warum braucht ein Programm .NET?
Das Programm nutzt Funktionen der .NET Runtime und der zugehörigen Bibliotheken, statt alle Grundlagen selbst mitzuliefern. Frameworkabhängige Anwendungen setzen eine passende installierte Runtime voraus. Selbstenthaltende Ausgaben bringen eine eigene Kopie mit. Welche Variante vorliegt, entscheidet der Softwareanbieter bei der Veröffentlichung.
Was ist die Java Runtime?
Funktional umfasst sie die JVM und die für die Ausführung benötigten Java-Bibliotheken. Historisch wurde dies als JRE angeboten. Moderne Java-Anwendungen können stattdessen ein JDK voraussetzen oder ein eigenes, angepasstes Runtime-Image mitbringen. Maßgeblich ist die Anforderung der konkreten Anwendung.
Ist Node.js eine Programmiersprache?
Nein. JavaScript ist die Programmiersprache. Node.js ist eine JavaScript-Laufzeitumgebung außerhalb des Browsers und stellt dafür unter anderem Datei-, Netzwerk-, Prozess- und Ein-/Ausgabe-Funktionen bereit.
Warum gibt es mehrere Runtime-Versionen?
Neue Versionen liefern Funktionen, Fehlerkorrekturen und Sicherheitsupdates. Anwendungen werden jedoch gegen bestimmte Schnittstellen und Verhaltensweisen entwickelt. Mehrere Versionen ermöglichen, neue Software zu betreiben, ohne jede ältere Anwendung sofort migrieren zu müssen.
Was bedeutet 32 Bit und 64 Bit bei Laufzeiten?
Die Angaben beschreiben die Zielarchitektur des Programms und seiner Komponenten. Eine 32-Bit-Anwendung benötigt häufig eine x86-Runtime, selbst wenn sie auf einem 64-Bit-Betriebssystem läuft. Native Bibliotheken, Runtime und Anwendung müssen architektonisch zusammenpassen.
Sollte man alte Laufzeitumgebungen löschen?
Nur nach einer Abhängigkeitsprüfung. Alte, nicht mehr unterstützte Laufzeiten können ein Sicherheitsrisiko darstellen, aber weiterhin von Altsoftware benötigt werden. Dokumentieren Sie die Installation, prüfen Sie Herstelleranforderungen und entfernen Sie Versionen gezielt statt pauschal.
Suchen Sie bei einem Runtime-Fehler nicht zuerst nach dem allgemein neuesten Download. Ermitteln Sie die erwartete Runtime-Familie, Version, Architektur und Zusatzabhängigkeiten. Erst danach lässt sich sicher entscheiden, ob Sie eine Laufzeit installieren, einen Suchpfad korrigieren, Projektpakete ergänzen, den Server anpassen oder eine kompatible Anwendungsversion benötigen.
Werbung
(**) UVP: Unverbindliche Preisempfehlung
Preise inkl. MwSt., zzgl. Versandkosten
