maik87
Goto Top

DLL-Datei auführen anstatt downloaden

Hallo zusammen,

ich hoffe ich bin mit meinem Problem zunächst einmal hier richtig! Falls nicht, sry.

Folgendes Problem:
Ich bin gerade dabei mit einer Web-Anwendung vom einem Windows 2003 Server auf einen Windows 2008 Server umzuziehen. Ihr glaubt garnicht wie schwer das sein kann, wenn man weder eine Anleitung noch Ahnung davon hat ;)

Folgendes ist jetzt das Problem:
Mit diesem Code:


function Reinitialize()
{
var sProfile = document.initialise.profile.options[document.initialise.profile.selectedIndex].value;
sProfile = sProfile.replace(" ","+"); replace spaces for URLencoding
document.location.href = "../ChartIIS.dll?ReadDataDict?profile=" + escape(sProfile);
profile=null added as a fix for NN4
//netscape 4 does not like passing querystrings with no data (i.e. no = )
}


Wird auf dem alten Server eine Prozedur gestartet. Auf dem neuen Server wird, wenn ich auf den Button klicke, nur die Datei "ChartIIS.dll" zum Download angeboten.

Was muss ich nun tun, damit die Datei wieder ausgeführt und nicht zum Download angeboten wird?

Ich hoffe ich habe mein Problem verständlich rübergebracht. Danke für eure Antworten!!!

Content-Key: 151091

Url: https://administrator.de/contentid/151091

Printed on: April 23, 2024 at 16:04 o'clock

Member: HGSpengler
HGSpengler Sep 15, 2010 at 12:53:18 (UTC)
Goto Top
Schau mal nach ob im IIS der Handler ISAPI-dll aktiv ist.

Wenn nicht dann aktiviere bitte diesen Handler.

Schau auch mal nach ob der IIS richtig installiert ist.
Es werden zum Beispiel die static Handler nicht automatisch im IIS installiert.
Erst mal alle Optionen im IIS aktivieren (Server- Verwaltung - Rollen - IIS )

Vielleicht hilft auch der folgende Link

http://entwickler-forum.de/showthread.php?t=1072
Member: Maik87
Maik87 Sep 15, 2010 at 13:00:11 (UTC)
Goto Top
Zitat von @HGSpengler:

Schau mal nach ob im IIS der Handler ISAPI-dll aktiv ist.

Ist sie.

Wenn nicht dann aktiviere bitte diesen Handler.

s.o.

Schau auch mal nach ob der IIS richtig installiert ist.
Es werden zum Beispiel die static Handler nicht automatisch im IIS installiert.

Was genau meinst du?

Erst mal alle Optionen im IIS aktivieren (Server- Verwaltung - Rollen - IIS )

Alles? Dann ist der Server doch total überladen, oder? Was brauch ich denn wirklich davon?

Vielleicht hilft auch der folgende Link

http://entwickler-forum.de/showthread.php?t=1072

Ich kann/darf den Source der Anwendung nicht verändern. Es ist was gekauftes und es lief ja auch. Es muss am Server liegen.
Member: HGSpengler
HGSpengler Sep 15, 2010 at 13:42:49 (UTC)
Goto Top
Bei der Standardinstallation vom IIS 7 wird standardmäßig nicht alles installiert was man braucht.
Es werden zum Beispiel keine Bilder, css Dateien, Javascripte usw. vom IIS verarbeitet.
Da hat Microsoft bei der Festlegung des Standards ziemlichen Mist gebaut.

Installier alle Optionen beim IIS, viel macht das nicht aus.
Erst mal die Sache zum Laufen bringen, danach optimieren.
Dann Testweise Optionen wieder entfernen.
Member: Maik87
Maik87 Sep 15, 2010 at 13:52:44 (UTC)
Goto Top
Ich hab nun alles installiert, symtom ist das gleiche!

Meine Veränderungen:
Neue Seite angelegt.
32Bit-Anwendungen erlaubt
Parents Path erlaubt

Es scheint aber Zugriff drauf zu sein. Setze ich nämlich einen ISAPI-Filter auf diese Datei mit der Beschränkung "local" so geht gar nichts mehr.
Member: HGSpengler
HGSpengler Sep 15, 2010 at 14:49:49 (UTC)
Goto Top
Schau mal ob

1.ISAPI Extensions ISAPI-Erweiterungen
und 2. die IIS Metabase and IIS 6 configuration compatibility. IIS-Metabasis und IIS 6-Konfiguration Kompatibilität

installiert ist.

Auf der folgenden Seite sind für ein ähnliches Problem die Einstellungen zu sehen.

http://translate.google.de/translate?hl=de&langpair=en%7Cde&u=h ...

Parents Path erlaubt solltest du ausschalten.

Gibt es Logeinträge in der Ereignisanzeige des Servers ( IIS ) manchmal helfen diese Fehlermeldungen.
Member: Maik87
Maik87 Sep 15, 2010 at 15:00:26 (UTC)
Goto Top
Ja ist installiert.

Parents Path brauch ich zwingend, da sonst einige Seiten nicht dargestellt werden.

Einträge sind folgende:

The HTTP Filter DLL C:\Program Files (x86)\HRM Software\HRCharter Enterprise 9.5\ChartIIS.dll failed to load. The data is the error.

Could not load all ISAPI filters for site 'WEBCHARTER TKS'. Therefore site startup aborted.


Vermute aber, die kommen von meiner Spielerei...
Member: HGSpengler
HGSpengler Sep 16, 2010 at 08:50:24 (UTC)
Goto Top
Sind auch die Rechte für die DLL richtig gesetzt "Network Service" bzw. der von dir eingestellte User muß natürlich die entsprechenden Rechte auf die DLL haben.

Du könntest aber einfach mal eine Anfrage an den Hersteller der Software Komponente stellen.
Ich denke mal die sollten auch ein Interesse daran haben das Ihre Software unter Windows 2008 Server (IIS7) läuft.
Member: Maik87
Maik87 Sep 16, 2010 at 08:55:49 (UTC)
Goto Top
Erklär mir das mit den Rechten mal bitte genauer. Was meinst du mit "Network Service"?
Member: HGSpengler
HGSpengler Sep 16, 2010 at 09:13:59 (UTC)
Goto Top
Das Dateisystem(NTFS) hat doch verschiedene Rechte (lesen, schreiben, ausführen,...)
Dann gibt es die verschiedenen Benutzer/Gruppen für das System.
Network Service (Netzwerk Dienst), System, Administratoren und noch einigen mehr.
Eine Web-Anwendung läuft, sofern nicht anders eingestellt, mit dem Benutzer "Network Service".
Hat dieser Benutzer keine entsprechenden Rechte auf die dll, dann wird diese eben nicht geladen.

Rechstklick auf die DLL - Sicherheit und dort dem Benutzer "Network Service" lese und Ausführungsrechte geben.
Eventuell mußt Du dem "Network Service" noch Leserechte auf den übergeordneten Ordner geben.
"C:\Program Files (x86)\HRM Software\HRCharter Enterprise 9.5"
Member: Maik87
Maik87 Sep 16, 2010 at 09:21:14 (UTC)
Goto Top
Hat leider nichts gebracht...
Hab auch testweise für Everyone Vollzugriff gegeben - ohne Erfolg.
Member: HGSpengler
HGSpengler Sep 16, 2010 at 10:18:06 (UTC)
Goto Top
Schau mal noch in der Config nach ob ein ISAPI- Filter 2 mal vorhanden ist.
Wenn ja einen davon löschen.

ansonsten mal nach folgender Anleitung vorgehen.

http://learn.iis.net/page.aspx/266/troubleshooting-failed-requests-usin ...

So wie es aussieht liegt es irgendwo an der web.config der Web-Anwendung.
Member: Maik87
Maik87 Sep 16, 2010 at 13:24:13 (UTC)
Goto Top
Bei den ISAPI-Filtern habe ich nur 2 mal ASP.NET drin. Einmal 32 und einmal 64 bit.

Ich habe die ChartIIS.dll bei \"ISAPI and CGI restrictions\" mit allowed eingetragen. Passt das?

Ich glaub es liegt am MIME-Eintrag. Wie muss der Eintrag aussehen, damit die Datei ausgeführt wird? Bei mir steht jetzt \"application/x-msdownload\" drin.
Member: HGSpengler
HGSpengler Sep 16, 2010 at 13:38:23 (UTC)
Goto Top
Für ausführbare Dateien sollte de Mime typ auf "application/octet-stream" stehen
Member: Maik87
Maik87 Sep 16, 2010 at 15:01:56 (UTC)
Goto Top
Ich bin kurz vorm Durchbruch!!

Die ISAPI-DLL ist zwar installiert, aber nicht konfiguriert. Ich hab's mal versucht. Geht ein ganz bischen mehr, aber dann beendet der IIS die Application, weil zuviele Fehler aufgetreten sind.

Was muss ich eintragen?:
Request path: *.dll
Name: ISAPI-dll
Executable: ??

Da hatte ich den Pfad der ChartIIS.dll reingetan. Er versucht jetzt auch die Page aufzubauen (kein Download der dll mehr) aber dann knallt es.


Zitat: "Application pool 'Webcharter TKS' is being automatically disabled due to a series of failures in the process(es) serving that application pool."
Member: HGSpengler
HGSpengler Sep 16, 2010 at 21:20:59 (UTC)
Goto Top
Das könnte jetzt noch am falsch eingestellten application-pool liegen.

Unter den Grundeinstellungen deiner Webanwendung kannst Du den Application Pool wechseln.
Versuch es mal mit dem classic .Net AppPool
Member: Maik87
Maik87 Sep 20, 2010 at 08:30:51 (UTC)
Goto Top
Hallo!

Vielen Dank für den Tipp. Funktioniert jedoch leider nicht, da die Webseite dann den Fehler 500 bringt. In der Logdatei steht folgendes drin:

LineNumber 37
ErrorCode 800a01ad
Description ActiveX component can't create object
Member: HGSpengler
HGSpengler Sep 20, 2010 at 08:52:01 (UTC)
Goto Top
Hallo,

schau dir mal folgende Seite an.

http://www.google.de/#q=fehlercode+800a01ad+&hl=de&sa=2&fp= ...

Entweder fehlt noch eine DLL oder der Zugriff auf irgendeine benötigte Komponente ist nicht möglich.
Member: Maik87
Maik87 Sep 20, 2010 at 10:24:32 (UTC)
Goto Top
Lt. der Seite ist alles okay. Ist auf dem alten Server auch genau so eingestellt. Langsam hab ich die Nase voll.

Hier nochmal ein Fehler:

Faulting application name: w3wp.exe, version: 7.5.7600.16385, time stamp: 0x4a5bcd2b
Faulting module name: KERNELBASE.dll, version: 6.1.7600.16385, time stamp: 0x4a5bdbdf
Exception code: 0xe06d7363
Fault offset: 0x0000b727
Faulting process id: 0xc44
Faulting application start time: 0x01cb58acf5b3fd40
Faulting application path: C:\Windows\SysWOW64\inetsrv\w3wp.exe
Faulting module path: C:\Windows\syswow64\KERNELBASE.dll
Report Id: 336ed736-c4a0-11df-9936-005056983c89
Member: HGSpengler
HGSpengler Sep 20, 2010 at 11:57:48 (UTC)
Goto Top
Hast Du deine Anwendung mit "Any CPU" oder "X86" compiliert ?

So wie es aussieht ruft der IIS die 64 Bit Version des Worker-Prozesses (w3wp.exe) auf, und dann wird die 32 Bit DLL angefordert.
Compiliere mal deine Anwendung mit "X86". Dann sollte der 32 Bit Worker Prozess gestartet werden.

Du könntest aber auch mal den Hersteller der DLL nach einer 64 Bit Version fragen (Update ?), dem sollte ja auch was daran liegen das seine DLL weiter verwendbar ist.
Member: Maik87
Maik87 Sep 21, 2010 at 07:43:42 (UTC)
Goto Top
Ist dies ein Problem von Windows oder von der Anwendung?

"Verbindung mit Lizenzserver fehlgeschlagen localhost"
Member: HGSpengler
HGSpengler Sep 21, 2010 at 10:38:48 (UTC)
Goto Top
Von deiner eigenen Anwendung kann es nicht sein, ich gehe mal davon aus das Du keinen Lizenzserver betreibst oder abfragst.

Ich würde auf Windows tippen, Es könnte aber auch von der DLL kommen, wenn diese eine Lizenz abfragen sollte, aber das würdest Du dann ja wissen.

Höchstwahrscheinlich liegt es irgendwo an der Windows Installation.