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-ID: 151091

Url: https://administrator.de/forum/dll-datei-aufuehren-anstatt-downloaden-151091.html

Ausgedruckt am: 22.12.2024 um 21:12 Uhr

HGSpengler
HGSpengler 15.09.2010 um 14:53:18 Uhr
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
Maik87
Maik87 15.09.2010 um 15:00:11 Uhr
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.
HGSpengler
HGSpengler 15.09.2010 um 15:42:49 Uhr
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.
Maik87
Maik87 15.09.2010 um 15:52:44 Uhr
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.
HGSpengler
HGSpengler 15.09.2010 um 16:49:49 Uhr
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.
Maik87
Maik87 15.09.2010 um 17:00:26 Uhr
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...
HGSpengler
HGSpengler 16.09.2010 um 10:50:24 Uhr
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.
Maik87
Maik87 16.09.2010 um 10:55:49 Uhr
Goto Top
Erklär mir das mit den Rechten mal bitte genauer. Was meinst du mit "Network Service"?
HGSpengler
HGSpengler 16.09.2010 um 11:13:59 Uhr
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"
Maik87
Maik87 16.09.2010 um 11:21:14 Uhr
Goto Top
Hat leider nichts gebracht...
Hab auch testweise für Everyone Vollzugriff gegeben - ohne Erfolg.
HGSpengler
HGSpengler 16.09.2010 um 12:18:06 Uhr
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.
Maik87
Maik87 16.09.2010 um 15:24:13 Uhr
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.
HGSpengler
HGSpengler 16.09.2010 um 15:38:23 Uhr
Goto Top
Für ausführbare Dateien sollte de Mime typ auf "application/octet-stream" stehen
Maik87
Maik87 16.09.2010 um 17:01:56 Uhr
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."
HGSpengler
HGSpengler 16.09.2010 um 23:20:59 Uhr
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
Maik87
Maik87 20.09.2010 um 10:30:51 Uhr
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
HGSpengler
HGSpengler 20.09.2010 um 10:52:01 Uhr
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.
Maik87
Maik87 20.09.2010 um 12:24:32 Uhr
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
HGSpengler
HGSpengler 20.09.2010 um 13:57:48 Uhr
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.
Maik87
Maik87 21.09.2010 um 09:43:42 Uhr
Goto Top
Ist dies ein Problem von Windows oder von der Anwendung?

"Verbindung mit Lizenzserver fehlgeschlagen localhost"
HGSpengler
HGSpengler 21.09.2010 um 12:38:48 Uhr
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.