DirectX-Forum - Beitragsübersicht -
ThemaDX9: DirectX und Deployment
Von Cheaterhater
Datum 10. Juni 2010 um 21:42:12
Frage Hallo, ich bins mal wieder...

Ich hatte vor ca. einer Woche ein Spiel fertig programmiert. Das Spiel benutzt die DirectX-Komponenten Direct3D, Direct3DX, DirectInput und DirectSound. Da ich das Spiel auch an andere Leute verteilen möchte, habe ich der Projektmappe ein Setup-Projekt hinzugefügt. Visual Studio hat alle Abhängigkeiten korrekt erkannt und kopiert neben der .exe-Datei noch folgende Dateien ins Ausgabeverzeichnis:
Microsoft.DirectX.Direct3D.dll
Microsoft.DirectX.Direct3DX.dll
Microsoft.DirectX.DirectInput.dll
Microsoft.DirectX.DirectSound.dll
Microsoft.DirectX.dll
Andere Assemblies, die benutzt werden, sind System, System.Drawing, System.Windows.Forms und System.XML.

Bei einigen Personen lässt sich das Programm nach der Installation problemlos ausführen, bei anderen jedoch nicht. Anzumerken ist, dass ich für das gleiche Programm früher eine ClickOnce-Installation gemacht hatte, die problemlos funktionierte (auch bei Leuten, bie denen die aktuelle Version nicht funktioniert). Bei den Menschen, bei denen das ganze nicht so wie vorgesehen funktioniert, gibt es beim Starten der .exe folgenden Fehler:
System.IO.FileNotFoundException: Das angegebene Modul wurde nicht gefunden. (Ausnahme von HRESULT: 0x8007007E)
bei Snyke.frmSnyke.frmSnyke_Load(Object sender, EventArgs e)
bei System.Windows.Forms.Form.OnLoad(EventArgs e)
bei System.Windows.Forms.Form.OnCreateControl()
bei System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
bei System.Windows.Forms.Control.CreateControl()
bei System.Windows.Forms.Control.WmShowWindow(Message& m)
bei System.Windows.Forms.Control.WndProc(Message& m)
bei System.Windows.Forms.ScrollableControl.WndProc(Message& m)
bei System.Windows.Forms.ContainerControl.WndProc(Message& m)
bei System.Windows.Forms.Form.WmShowWindow(Message& m)
bei System.Windows.Forms.Form.WndProc(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Der Fehler tritt nicht in meinem Code auf, d. h. ich kann ihn nicht abfangen. Die Fehlermeldung ist auch nicht mit der Fehlermeldung, die erscheint, wenn eine Assembly fehlt, identisch. Da sieht der Fehlertext anders aus.

Nun ist also die Frage: Was mach ich da falsch? Wie habe ich mit DirectX umzugehen, damit das Programm nach der Installation korrekt funktioniert? Ich benutze das Visual Studio 2010 Professional, und auf allen Zielcomputern war DirectX 9.0c installiert. Diejenigen, bei denen das Programm anstandslos funktionierte, waen vornehmlich die Personen, die das Programm vorher schon einmal (mit der ClickOnce-Veröffentlichung) gehabt haben oder ebenfalls Visual Studio installiert haben.

Ich hoffe auf Antworten und bedanke mich im Voraus
Antwort:
Von Cheaterhater
Datum 15. Juni 2010 um 18:10:00
Antwort So, ich habe jetzt noch etwas recherchiert und dabei herausgefunden, dass die einzige VS2010-Unterstützung des DirectX-SDK von Juni 2010 für C++ ist. Visual Basic und C# bekommen also nach wie vor keine Unterstützung. Jetzt muss ich mich also entweder nach einem Workaround umsehen, damit das ganze auch auf anderen PCs läuft, oder auf SlimDX bzw. alternative Bibliotheken (OpenGL/OpenAL, etc.) umsteigen und dabei wieder ganz andere Funktionen und Funktionsweisen lernen...
Aber allgemein: Was genau passiert denn, wenn ich die DLLs direkt referenziere anstatt diese (die gleichen DLLs) als registrierte .net-Komponenten hinzufüge? Wenn ich wüsste, was das Visual Studio da intern anders macht, könnte ich da evtl. auch was dran ändern. Denn prinzipiell können die Bibliotheken ja wohl verwendet werden, da es auf einigen PCs lauffähig ist.
[ Antwort schreiben | Zurück zum DirectX-Forum | Forum-Hilfe ]
Antworten
DX9: DirectX und Deployment - Cheaterhater 10. Juni 2010 um 21:42:12
Re: DirectX und Deployment - mdx 11. Juni 2010 um 12:24:16
Re: DirectX und Deployment - Nico 11. Juni 2010 um 18:18:44
Re: DirectX und Deployment - Cheaterhater 11. Juni 2010 um 19:49:23
Re: DirectX und Deployment - mdx 11. Juni 2010 um 23:26:15
Re: DirectX und Deployment - Nico 13. Juni 2010 um 13:48:18
Re: DirectX und Deployment - Cheaterhater 14. Juni 2010 um 19:24:25
Re: DirectX und Deployment - Nico 14. Juni 2010 um 19:30:38
Re: DirectX und Deployment - Cheaterhater 15. Juni 2010 um 18:10:00
Re: DirectX und Deployment - Nico 15. Juni 2010 um 18:18:01
Re: DirectX und Deployment - Cheaterhater 16. Juni 2010 um 16:53:43
Re: DirectX und Deployment - mdx 16. Juni 2010 um 18:01:19
Re: DirectX und Deployment - Hondadog 01. Oktober 2010 um 23:19:41

Ihre Antwort
(Nick-)Name   Wichtige Informationen zur Namensangabe
E-Mail (opt.)  Wichtige Informationen zur Angabe einer eMail-Adresse
Thema   Wichtige Informationen zur Angabe eines Themas
Betrifft (IDE)  DirectX 9
Ihre Antwort
Smilies
Mehr...
FettKursivUnterstrichen   Übersicht der Tipp-KürzelÜbersicht der Projekt-KürzelÜbersicht der Bücher-Kürzel 
Homepage
Titel
Root-Smilies              
             
             
[ Zurück zum DirectX-Forum | Forum-Archiv | Forum-Hilfe | Chat ]

Zum Seitenanfang

Startseite | VB-/VBA-Tipps | Projekte | Tutorials | API-Referenz | Komponenten | Bücherecke | Gewinnspiele | VB.Net | .Net-Forum | DirectX | DirectX-Forum | Chat | Ausschreibungen | Links | Suchen | Stichwortverzeichnis | Feedback | Impressum

Seite empfehlen Bug-Report
Letzte Aktualisierung: Sonntag, 13. Dezember 2015