Ich hab ein fertiges Projekt kompiliert. In diesem Projekt ist eine C++DLL verknüpft und diese wird auch beim kompilieren komplett mitgenommen, jedoch an der Stelle an der die DLL verwendet wird kommt es zu einem Problem.
Auf einem Rechner mit Visual Studio funktioniert die DLL und die EXE wirft kein Fehler. Auf einem Rechner ohne Visual Studio kommt eine Fehlermeldung, dass eine DLL erwartet wird, aber nicht verknüpft ist.
Kann es sein, dass ich beim installieren von VS ein Package oder Update kopiere das irgendwie mit C++ und DLL zu tun hat, aber im Windows Update nicht bei ist?
Auf 2 Rechner mit VS funktioniert es und auf 2 Rechner ohne VS funktioniert es nicht.
Framework 2.0 ist natürlich überall drauf! 🙂
Was für eine Datei benötigt man noch?
Hallo digi333,
Es wäre sehr hilfreich, würdest du die genaue Fehlermeldung posten.
Wenn die C++ DLL mit VisualStudio (bzw. mit dem MS Compiler) erstellt wurde, fehlt vielleicht die Runtime Library (msvcrtXX.dll oder so ähnlich, wobei XX die Version ist)?
Mfg NeuroCoder
Hi digi333,
spontan hab ich keine Ahnung, aber
schnapp dir am besten den FileMonitor aus der Sysinternals-Suite und schau, wo er DLLs sucht, aber nicht finden kann.
oder schau gleich mit dem DependencyWalker welche DLLs verknüpft sind, aber nicht gefunden wurden.
(aber natürlich auf den PCs, wos nich läuft 😉 )
beste Grüße
zommi
Hab mal die Fehlermeldungen von den Rechnern ohne VS angehängt. Vielleicht werdet ihr schlau...
System.IO.FileLoadException: Could not load file or assembly 'FFMpegDecoderBackend, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. Diese Anwendung konnte nicht gestartet werden, weil die Anwenungskonfiguration nicht korrekt ist. Zur Problembehebung sollten Sie die Anwendung neu installieren. (Exception from HRESULT: 0x800736B1)
File name: 'FFMpegDecoderBackend, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' ---> System.Runtime.InteropServices.COMException (0x800736B1): Diese Anwendung konnte nicht gestartet werden, weil die Anwenungskonfiguration nicht korrekt ist. Zur Problembehebung sollten Sie die Anwendung neu installieren. (Exception from HRESULT: 0x800736B1)
at TestInterface.FormMain.OpenVideo(String videofilename)
at TestInterface.FormMain.listBoxVideoFiles_SelectedIndexChanged(Object sender, EventArgs e)
at System.Windows.Forms.ListBox.OnSelectedIndexChanged(EventArgs e)
at System.Windows.Forms.ListBox.WmReflectCommand(Message& m)
at System.Windows.Forms.ListBox.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Hi,
hast du die C-Dll im Debug-Modus kompiliert? Wenn ja, dann braucht diese dll die Debug-Version der C Runtime Bibliotheken. Diese ist aber blos bei VisualStudio dabei.
Ansonsten muss auf jedenfall die C++ Redist 200X installiert sein (X je nach VisualStudio Version).
Gruß
Roland
Auf den Zielrechnern hab ich die C++ Redist 2005 und C++ Redist 2008 installiert... ohne Veränderung.
Den Rest versteh ich nicht... Die beiden Rechner mit VS haben auch nur die Dateien.
Ich versteh das nicht!