VC++ 8.0 Windows Server 2003 und die dll-Hölle



  • Unsere Applikation ist mit VC 8.0 im Debug-Mode übersetzt und wird mit folgenden dlls installiert: msvcp80d.dll, msvcr80d.dll und msvcm80d.dll.

    Funktioniert soweit wunderbar auf Rechnern mit Win Server 2000 SP 4 sowie Windows XP. Mit Win Server 2003 SP1 kommt in der Ereignisanzeige folgende Meldung (ohne dass das Programm startet):
    Generate Activation Context ist für D:\VnetS\Prg\TakK_AGM.exe fehlgeschlagen. Referenzfehlermeldung: Die referenzierte Assemblierung ist nicht auf dem Computer installiert.

    Im Vergleich mit den funktionierenden Rechnern unterscheiden sich die Version von folgenden dlls:
    msvcrt.dll - Win32-Verzeichnis
    comctl32.dll
    etc.

    Hat jemande eine Idee?



  • [quote="AGi"]
    Generate Activation Context ist für D:\VnetS\Prg\TakK_AGM.exe fehlgeschlagen. Referenzfehlermeldung: Die referenzierte Assemblierung ist nicht auf dem Computer installiert.
    quote]
    Klingt für mich so als wäre eure Anwendung eine .NET Anwendung der auf dem
    Zielrechner irgendeine .NET Komponente fehlen würde.



  • Hallo,

    eine .NET Anwendung würde dir Bescheid sagen wenn das benötigte Framework nicht installiert ist.
    Das Problem liegt an der Debugversion.. klar dass die nicht auf jedem Rechner läuft. Compilier dein Programm mal im Releasemode und freu dich dann, dass es überall läuft.



  • warum soll ein programm nicht überall als debug-Version laufen. Deswegen gibts ja debug- und release-Versionen der dlls:

    msvcp80d.dll für debug
    msvcp80.dll für release



  • Warum sollte es auf jedem PrivatPC Debug- und Releaseversionen einer DLL geben? Wäre ja noch schöner 😉



  • auf jedem PrivatPC Debug- und Releaseversionen einer DLL geben

    😕 😕
    Wer redet von PrivatPC? AGi schreibt doch, dass sie die dlls installiert. Könnte sich ja z.B. um den Rechner eines anderen Entwicklers handeln. Oder um ein Testsystem. Oder ...? Win2003 Server lässt nicht so sehr auf einen PrivatPC schließen.



  • ich hatte mal Probleme als ich mein Programm das erste mal auf einen 64 Bit Rechner laufen haben lassen... unwahrscheinlich, aber vielleicht versucht ein 64 Bit Prozess aufeine 32 Bit DLL zurückzugreifen -> *BUMM*


Anmelden zum Antworten