aspnet_regiis.exe –i nicht vergessen wenn man erst das Framework und dann den IIS installiert

image.png

Jede (neuere) Windows Installation bringt eine bestimmte .NET Framework Version mit. Wenn man allerdings eine neue Version installiert und hinterher den IIS aktiviert, kommt es zu kleinen Problemen.

Welche .NET Versionen werden mit welchem Server ausgeliefert?

Ein Windows Server 2008 R2 wird mit dem .NET Framework 2.0 ausgeliefert und kann via Windows Features direkt auf .NET 3.5 aktualisiert werden.
Ein Windows Server 2012 kommt mit .NET 4.5.

IIS & .NET Versionen

Der IIS interessiert sich allerdings nur für die Runtime-Versionen – d.h. v2.0 und v4.0. Scott Hanselman hat dies in einem Blogpost genauer erklärt (damals mit .NET 3.5)

Wann kann es zu Problemen kommen?

Folgendes Szenario führte bei mir zu Problemen: Ein Windows Server 2008 R2 mit installiertem .NET Framework 4.5.

Danach wurde der IIS installiert – Resultat:

Framework war vorhanden (siehe Registry-Eintrag), aber es waren nur v2.0 AppPools im IIS vorhanden.

image

Ursache:

Beim Aktivieren des IIS werden nur die “mit ausgelieferten” Framework-Versionen registriert. Neuere Frameworks werden nicht automatisch im IIS registriert!

Lösung:

Der Aufruf des Befehls “aspnet_regiis.exe –i” muss genutzt werden um Framework & IIS bekannt zu machen:

Pfad zum Tool: C:\Windows\Microsoft.NET\Framework\v4.0.30319

image

Wenn dir der Blogpost gefallen hat, dann hinterlasse doch einen Kommentar. Wenn du auf dem Laufenden bleiben willst, abonniere unseren RSS Feed oder folge uns auf Twitter.

About the author

Written by

Hi, ich bin Robert Mühsig und bin Webentwickler und beschäftige mich mit Web-Frameworks auf dem Microsoft Web Stack und scheue mich auch nicht vor Javascript. Der Blog begann als "Problemsammelstelle und Lösungshilfe" und seitdem schreibe ich hier alles auf. Seit 2008 bin ich Microsoft MVP für ASP.NET. Treffen kann man mich online via Twitter (@robert0muehsig) oder hier.

  • http://nachtlog.de Gerrit

    Ich führe zusätzlich noch die 64-bit Variante in dem Framework64-Verzeichnis aus, falls es sich nicht um einen 32-bit Anwendungspool handeln sollte.

    • http://code-inside.de Robert Mühsig

      Wie erkennt man denn ein 32-bit AppPool? Bisher hatte ich keine Probleme und beim Aufruf von aspnet_regiis im normalen “Framework” Ordner bekomm ich hinterher ein ASP.NET 4.0 AppPool mit “Enable 32-Bit Application = false” – das gleiche wie bei Framework64.

      • http://www.nachtlog.de Gerrit

        Läuft dein IIS denn unter 64-bit oder unter 32-bit? Falls dein Anwendungspool in der 32-bit Variante als “Enable 32-Bit Application = false” deklariert ist, wird die Einstellung imho ignoriert und es wird das Framework32 verwendet, wodurch dann natürlich kein Problem auftritt.

        • http://code-inside.de Robert Mühsig

          Bislang hatte ich noch nie darüber nachgedacht ob der IIS unter 64 oder 32 bit läuft. Wo sehe ich das denn und wo kann man das Einstellen?

          • http://www.nachtlog.de Gerrit

            Der w3wp.exe wird im 32-bit-Modus mit einem *32 im Taskmanager (etwas hübscher unter Windows 2012) dargestellt. Einstellbar ist das imho nur über irgendwelche Registry-Hacks… Min. seit 2012, wenn nicht sogar schon vorher, ist es immer ein 64-bit-Prozess.

  • http://code-inside.de Robert Mühsig

    Ich hab hier ein Win Server 2008 R2 und mach die Registrierung über den Framework Ordner – scheint “trotzdem” zu klappen.

    • http://www.nachtlog.de Gerrit

      Ok dann ergibt sich der Sinn hinter der 64-bit Variante nicht so ganz… ;-) Ich werde das mal in Zukunft im Auge behalten…

      • http://code-inside.de Robert Mühsig

        Bestimmt gibt es ein Anwendungsfall wo es dann nicht geht ;) Ich achte mal in Zukunft darauf.

Letzte Posts

  • image_thumb.png
    NuGet Package Restore & Build Server wie z.B. AppVeyor

    NuGet ist ja mittlerweile weit verbreitet, aber eine Frage stellt sich natürlich immer noch: Checkt man die NuGet Packages ein oder nicht? In meinem kleinen Side-Projekt, welches auf GitHub liegt und ich über AppVeyor auch bauen lasse nutze ich das Package Restore Feature von NuGet, d.h. in meinem Repository befindet sich kein NuGet Package mehr, […]

  • image.png
    Microsoft Account Login via ASP.NET Identity

    Der Microsoft Account ist die zentrale Identifikationsstelle in der “Consumer-Microsoft-Welt”, allerdings ist das Einbinden eben dieser in die eigene Applikation eher schwierig. Das “Live SDK” ist nun unter dem OneDrive Dev Center zu finden und ganz professionell wurden auch alle Links zum alten Live SDK damit unbrauchbar gemacht. Beim Microsoft Account ist es auch unmöglich […]

  • image.png
    Zeitgesteuerte Azure WebJobs – so einfach kann Azure sein

    Das noch in Entwicklung befindliche Azure WebJob SDK bietet einige coole Features zum Verarbeiten und Bereitstellen von Daten. Bekanntes Beispiel ist das Sample welches auf eine Azure Queue lauscht und sobald ein Item da vorhanden ist anfängt dies zu verarbeiten. Szenario: Zeitgesteuerte Aktivitäten – ohne Queue und co. Mein Szenario war allerdings wesentlich trivialer: Ich […]

  • image.png
    Get Involved in OSS! Ja, aber wie geht das denn mit GitHub?

    Auch im .NET Lager gibt es Bewegung im OSS Bereich und es gibt verschiedene Arten wie man bei einem Open Source Projekt “Contributed”. Was zählt alles zu “Contribution”? Unter “Contribution” läuft eigentlich alles – ob es Fragen/Probleme zu dem Projekt via Issues ist oder Dokumentation nachreicht oder ob man darüber bloggt oder das Projekt vorstellt. […]

  • HowTo: Web.config samt eigener ConfigSection zur Laufzeit ändern

    In dem HowTo geht es darum wie man die Web.config zur Laufzeit ändert und was es dabei zu beachten gilt. Das ganze klappt auch mit komplexeren ConfigSections. Eigene ConfigSection? Vor einer ganzen Weile habe ich mal über das Erstellen einer eigenen ConfigSection geschrieben – im Grunde nutzen wir jetzt fast dieselbe Config. Zur Laufzeit? Startet […]

Amazon Shop

Facebook