Glengamoi (Forum) · AspHeute · .NET Heute (RSS-Suche) · AspxFiles (Wiki) · .NET Blogs

Installation/Upgrade von Komponenten

Geschrieben von: Christoph Wille
Kategorie: Komponenten

This printed page brought to you by AlphaSierraPapa

Seit unsere Firma Komponenten herstellt (freie und kommerzielle), sind wir mit Kundenproblemen konfrontiert, die die Installation bzw. das Upgraden von Komponenten betreffen. In diesem Artikel werde ich jetzt mal aus dem Nähkästchen plaudern, damit Euch schlechte Erfahrungen beim Komponenteninstallieren erspart bleiben.

Die Erstinstallation

Wenn man eine Komponente zum ersten Mal auf einer Maschine installiert, dann ist das als fast ungefährlich anzusehen. Die einzigen Probleme, die auftreten können, sind, daß das Setupprogramm Systemkomponenten installiert, die älter sind als die, die man schon am Server hat (die beliebteste Sache ist hier OLEDB/ADO).

Also wenn nach der Installation mal was nicht mehr so funzt wie es sollte, mal in dieser Ecke zu graben beginnen: SP neuinstallieren, neuestes ADO, neuester IE. Das sollte (fast) immer Abhilfe schaffen.

Das Upgrade

Jetzt wird es schon um einiges haariger! Das Problem sind hier die laufenden Server, und die Art und Weise wie IIS die Geschwindigkeit im Umgang mit ASP Komponenten pusht. Um Euch das Ganze etwas näherzubringen gebe ich Euch eine Kurzeinführung in die Komponenten und wie sie von IIS verwendet werden:

Jede Komponente kann von einem Programm entweder einzeln angefordert werden (kostet Zeit), oder das Programm fordert die sogenannte "Class Factory" an, die es dem Programm erlaubt, soviele Komponenten zum Leben zu erwecken, wie es braucht. Diese Class Factory wird von der Applikation erst abgegeben, wenn sie geschlossen wird.

Genau das ist der Punkt bei IIS - er hält die Class Factory im Speicher, daher kann ich keine Komponente einfach upgraden - der Web Server muß gestoppt werden. Wer jetzt denkt, das geht einfach mit

net stop w3svc
, der hat sich getäuscht. Der Prozeß, der die Class Factory cacht ist der IIS Admin Service, daher geht das folgendermaßen:
net stop iisadmin /y
Das stoppt absolut alle IIS-zugehörige Prozesse; dann kann man die Komponente erst upgraden (entweder per Installationsprogramm oder kopieren + regsvr32). Ist man fertig, startet man alle Services wieder neu (zb der Web Service):
net start w3svc
Der IIS Admin Service startet automatisch.

This printed page brought to you by AlphaSierraPapa

 

©2000-2006 AspHeute.com
Alle Rechte vorbehalten. Der Inhalt dieser Seiten ist urheberrechtlich geschützt.
Eine Übernahme von Texten (auch nur auszugsweise) oder Graphiken bedarf unserer schriftlichen Zustimmung.