Laden...

Pgm läuft nur, wenn Visual Studio installiert ist

Erstellt von digi333 vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.162 Views
D
digi333 Themenstarter:in
290 Beiträge seit 2006
vor 15 Jahren
Pgm läuft nur, wenn Visual Studio installiert ist

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?

N
335 Beiträge seit 2006
vor 15 Jahren

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

1.361 Beiträge seit 2007
vor 15 Jahren

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

D
digi333 Themenstarter:in
290 Beiträge seit 2006
vor 15 Jahren

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)

B
387 Beiträge seit 2005
vor 15 Jahren

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

D
digi333 Themenstarter:in
290 Beiträge seit 2006
vor 15 Jahren

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!