aspnet_regiis.exe –i nicht vergessen wenn man erst das Framework und dann den IIS installiert
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.
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






Gerrit
2. February 2013
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.
Robert Mühsig
6. February 2013
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.
Gerrit
7. February 2013
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.
Robert Mühsig
7. February 2013
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?
Gerrit
7. February 2013
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.
Robert Mühsig
7. February 2013
Ich hab hier ein Win Server 2008 R2 und mach die Registrierung über den Framework Ordner – scheint “trotzdem” zu klappen.
Gerrit
7. February 2013
Ok dann ergibt sich der Sinn hinter der 64-bit Variante nicht so ganz…
Ich werde das mal in Zukunft im Auge behalten…
Robert Mühsig
7. February 2013
Bestimmt gibt es ein Anwendungsfall wo es dann nicht geht
Ich achte mal in Zukunft darauf.