Supreme Commander
Moderatoren: Moderatoren, Redakteure
Hast du denn 'nen Rechner mit XP Serv.P.2 druff!?
klingt so...
Und wenn du 1 drauf hast, dann kannst auch eben 2 drüberbügeln, schadet nicht.
War heute auch in 'nem Laden und hab mir das nochmal so im Regal stehend angeschaut...und wenn ich ehrlich bin, hatte ich gehofft dass ich irgendwo einen coolen Papp-Aufsteller abgrasen kann
klingt so...
Und wenn du 1 drauf hast, dann kannst auch eben 2 drüberbügeln, schadet nicht.
War heute auch in 'nem Laden und hab mir das nochmal so im Regal stehend angeschaut...und wenn ich ehrlich bin, hatte ich gehofft dass ich irgendwo einen coolen Papp-Aufsteller abgrasen kann
-
- Beiträge: 123
- Registriert: 21.12.2006 14:09
- Persönliche Nachricht:
steig doch um auf xpSchnitzl hat geschrieben:Nein ich hab nur Windows 2000. Sorry falls das undeutlich war.
Also kein SupremeCommander-Kauf von mir.
Vor allem da das Problem lächerlich ist und es imho kein Problem für die Entwickler wäre das auch für Win2000 verfügbar zu machen
MfG
oder bleibst du mit absicht bei 2000?
-
- Beiträge: 592
- Registriert: 12.01.2007 16:19
- Persönliche Nachricht:
-
- Beiträge: 6
- Registriert: 20.02.2007 12:07
- Persönliche Nachricht:
Hey, nichts überstürzen! hab mich extra angemeldet um dich und alle anderen Win2k Nutzer (falls es hier überhaupt noch welche gibt) darüber zu informieren, dass SC - und zwar nicht nur die Demo - durchaus auf Windows 2000 läuft!Schnitzl hat geschrieben:Also kein SupremeCommander-Kauf von mir.
Die erste Fehlermeldung (Einsprungspunkt "getaddrinfo" nicht in ws2_32.dll gefunden) wird dadurch verursacht, dass SC eine WinSocket-Funktion aufruft, die erst in XP zu dieser dll hinzugefügt wurde. Dem kann leicht durch kopieren der dll von einem vorhanden WinXP-System in den bin-Ordner der Supreme Commander Installation abgeholfen werden.
Desweiteren verlangt SC noch ein Modul namens "faultrep.dll", hier kann genauso verfahren werden.
Das wirkliche Problem ist die eigentlich für Vista entwickelte DirectX Komponente XACT Audio (XACT steht für Cross-Platform (X) (A)udio (C)reation (T)ool). Diese wurde um den Übergang zu Vista zu vereinfachen auch zur aktuellsten DirectX9 runtime hinzugefügt - allerdings nur für Windows XP.
Will man eine aktuelle DirectX9 Version unter Win2k installieren verschweigt einem die Setup-Routine einfach, dass sie XACT (und eine andere neue Schnittstelle namens XInput, die wird von SC aber nicht gebraucht) schlicht mal ausgelassen hat.
Da - wie wir alle wissen - Win2000 und WinXP im Prinzip die gleichen Bestriebssysteme sind, läuft XACT natürlich auch unter Windows 2000. Die ganze Sache ist mal wieder reine Microsoft-Schikane
Die seit einiger Zeit im Internet kursierende Lösung, einfach die dll "X3DAudio1_1.dll" in den bin-Ordner zu setzen (zu beziehen ebenfalls von einem vorhandenen XP System oder aus dem INet), bewirkt zwar, dass Supreme Commander startet, jedoch hat man dann keinen Sound. Das ist auch logisch, weil der gesammte Rest der Komponente fehlt und nicht richtig registriert wurde.
Um das Problem zu lösen muss man die entsprechenden Module manuell installieren. Dazu braucht man eine aktuelle (midestens Oktober 2006) DirectX Distribution. Hier eine Schritt-für-Schritt Anleitung:
(1) Wenn nicht schon passiert, das orginale Archiv (z.B. "directx_oct2006_redist.exe") in einen leeren Ordner entpachen (mit WinZip/WinRAR/WinACE ...).
(2) Zur besseren Übersicht erstellt man in diesem Ordner einen neuen Unterordner und kopiert alle *.cab-Archive, die etwas mit XACT zu tun haben dort rein. (Natürlich nur die mit x86 im Namen, es sei denn Win2k unterstützt neuerdings 64bit )
(3) Als nächstes entpackt man die *.cab-Archive beginnend vom Ältesten in dieses Verzeichnis, und bestätigt alle Überschreiben-Meldungen.
Ein Blick in die *.inf-Files zeigt nun, was getan werden muss: "x3daudio1_0.dll" und "x3daudio1_1.dll" sowie alle "xactengine2_?.dll"-Dateien werden ins system32 Verzeichnis der Windows 2000 Installation kopiert (normalerweise C:\WNNT\system32). Anschließend werden die "xactengine2_?.dll"-Module registriert, offensichtlich handelt es sich bei denen um COM-dlls.
ACHTUNG: Diesen Schritt noch NICHT ausführen, vorher müssen die Dateien noch etwas bearbeitet werden.
(5) Um den Grund für diesen Schritt zu erklären, muss ich etwas ausholen. Alle in C, C++ und C# programmierten Spiele und Treiber (und das sind fast alle) brauchen die CRT (C-RunTime) genannten C-Laufzeitbibliotheken. Im Falle von Microsofts C-Compiler (der ebenfalls mit Abstand am häufigsten genutzt wird) heißt die wichtigste MSVCRT.dll. Das sich natürlich auch Programmiersprachen weiterentwickeln, müssen die Laufzeitbibliotheken aktuell gehalten werden. Bei Microsoft tut man dies indem neue CRTs einfach eine Nummer hinter den Namen bekommen und dann neben den Alten im System liegen.
Bei der Entwicklung von XACT hat man jedoch darauf geachtet, dieses System der Abwärtskompatiblität möglichst AUSZUHEBELN und hat die Module nur mit MSVCRT.dll verlinkt, was beim Einsatz in XP und Vista kein Problem darstellt, da diese Datei dann mit der neusten Version MSVCR80.dll identisch ist.
Genau hier liegt der Hund begraben: wir müssen die Referenzen in den "xactengine2_?" dlls ("x3daudio1_?.dll"s haben keine solche Referenzen) auf eine MSVCR80.dll umleiten. Hierfür verwendet man im Idealfall einen Hex-Editor, aber Notepad ode ein anderer Text-Editor könnte u.U. auch funktionieren, doch dafür keine Garantie meinerseits! Wir öffnen also alle "xactengine2_?" dlls in einem geeigneten Editor und suchen nach der Zeichenfolge "msvcrt.dll". Das 'r' ändern wir in ein 'x' und speichern ab. Aus Gründen, die wirklich zu Umfangreich wären als dass ich sie hier noch erklären könnte, können wir die Referenz nicht einfach in "msvcr80.dll" ändern - nur so viel: die Anzahl der Buchstaben muss gleich bleiben. Damit die neue Referenz also nicht ins Leere zeigt, müssen wir noch die in system32 vorhandene "MSVCR80.dll" kopieren und in "msvcrx.dll" umbenennen (Groß- und Kleinschreibung ist übrigens egal). Das Kopieren und Umbenennen kann der Einfachheit halber zusammen mit Schritt 6 erfolgen.
(6) Die so veränderten dlls und natürlich auch x3daudio1_0.dll und x3daudio1_1.dll kopieren wir jetzt ins system32-Verzeichnis der Win2000 Installation und erstellen uns wenn noch nicht passiert unsere msvcrx.dll.
(7) Abschließent müssen noch die COM-Server in den "xactengine2_?.dll"s registriert werden. Dafür öffnen wir die Kommandokonsole, wechseln darin ins system32-Verzeichnis (z.B. "cd C:\WINNT\System32" ohne "" eingeben) und führen für jede "xactengine2_?.dll" den Befehl "regsvr32.exe xactengine2_?.dll" (wieder ohne "") aus. Das ? ist durch die jeweilige Nummer zu ersetzen.
Und schon haben wir ein 1a funktionierenden Supreme Commander
Hoffe, das hilft dir weiter. Wenn ich nicht so faul wäre, würde ich mal ein Script oder sowas schreiben, aber eigentlich ist die Methode ja nicht sooo umständlich.
Ich hoffe du hast die Demo noch nicht runtergehauen, oder noch schlimmer, Windows XP installiert
Also viel Glück beim Ausprobieren!
-
- Beiträge: 6
- Registriert: 20.02.2007 12:07
- Persönliche Nachricht:
Danke. Übrigens hat sich jemand vom Futuremark Forum bereit erklärt, die veränderten dlls sowie eine batch-Datei zur einfachen Installation zu hosten. Wie's aussieht konnte ich mich doch noch durchringen ^^
Hier der Link:
http://digg.com/gaming_news/Supreme_Com ... 2000_users
Das zweite Archiv (SCwin2k.zip) enthält übrigens die beiden dlls "ws2_32.dll" und "faultrep.dll".
Hier der Link:
http://digg.com/gaming_news/Supreme_Com ... 2000_users
Das zweite Archiv (SCwin2k.zip) enthält übrigens die beiden dlls "ws2_32.dll" und "faultrep.dll".
Genial!anonymous-user hat geschrieben:Danke. Übrigens hat sich jemand vom Futuremark Forum bereit erklärt, die veränderten dlls sowie eine batch-Datei zur einfachen Installation zu hosten. Wie's aussieht konnte ich mich doch noch durchringen ^^
Hier der Link:
http://digg.com/gaming_news/Supreme_Com ... 2000_users
Das zweite Archiv (SCwin2k.zip) enthält übrigens die beiden dlls "ws2_32.dll" und "faultrep.dll".
Es startet jetzt, nur wenn ich ne Skirmish-Mission auswähle komme ich zurück auf den Desktop und hab nen Sound-Loop
Die dll´s aus dem 2. Archiv kommen in das Bin-Verzeichnis, oder?
Jedenfalls soweit mal vielen Dank für deine Hilfe! Vielleicht fällt dir ja zu dem Problem noch was ein? :wink:
MfG
-
- Beiträge: 6
- Registriert: 20.02.2007 12:07
- Persönliche Nachricht:
Also: Die Dateien "ws2_32.dll" und "faultrep.dll" kommen ins \\bin Verzeichnis. Die andere Datei "X3DAudio1_1.dll" aus SCWin2k.zip wird nicht gebraucht. Es ist möglich, dass der Crash damit zusammenhängt. Stattdessen wird eine dll mit dem selben Namen aus dem Archiv xact4win2k.rar beim ausführen der bat-Datei automatisch ins system32-Verzeichnis kopiert. Diese ist auch nur 15kb groß und definitiv die orginale Version von DirectX. Keine Ahnung, was mit der anderen angestellt wurde.
Wenn sich also im \\bin Verzeichnis zusätzlich zu den Dateien die dort sowieso schon sind nur "ws2_32.dll" und "faultrep.dll" befinden, und der Rest (msvcrx.dll, x3daudio1_0.dll, x3daudio1_1.dll, xactengine2_0.dll bis xactengine2_4.dll) in System32 (Registrierung nicht vergessen wenn du das manuell machen willst!), sollte eigentlich alles klappen. Zumindest funzt's bei mir und in mindestens 3 weiteren bestätigten Fällen einwandfrei.
Sollte es trotzdem nicht gehen: bei ähnlichen Problemen soll schon folgende Variante geholfen haben:
1.) SCWin2k.zip nach \\Supreme Commander\\bin entpacken
2.) anschließend xact4win2k.rar ebenfalls nach \\Supreme Commander\\bin entpacken, dabei alle schon vorhanden Dateien (sollte nur X3DAudio1_1.dll @24kb sein) überschreiben.
3.) xactinst.bat ausführen
Ich hab allerdings auch schon von XP usern gehört, bei denen der Start eines Skirmish/LAN Spiels ebenfalls mit einem Crash zum Desktop quittiert wurde
Auf jeden Fall solltest du dein Win2k auf den neusten Stand bringen wenn's das noch net ist, denn alle Systeme auf denen ich das schon ausprobiert hab hatten SP4 und Update-Rollup vom 13.09.2005 sowie neuste Treiber etc. Außerdem sollte der Rest des Oct2006 Updates von DirectX9.0c installiert sein, denn mit früheren DirextX9.0c Versionen könnte XACT Probleme machen.
Ich hoffe das hilft dir weiter
Wenn sich also im \\bin Verzeichnis zusätzlich zu den Dateien die dort sowieso schon sind nur "ws2_32.dll" und "faultrep.dll" befinden, und der Rest (msvcrx.dll, x3daudio1_0.dll, x3daudio1_1.dll, xactengine2_0.dll bis xactengine2_4.dll) in System32 (Registrierung nicht vergessen wenn du das manuell machen willst!), sollte eigentlich alles klappen. Zumindest funzt's bei mir und in mindestens 3 weiteren bestätigten Fällen einwandfrei.
Sollte es trotzdem nicht gehen: bei ähnlichen Problemen soll schon folgende Variante geholfen haben:
1.) SCWin2k.zip nach \\Supreme Commander\\bin entpacken
2.) anschließend xact4win2k.rar ebenfalls nach \\Supreme Commander\\bin entpacken, dabei alle schon vorhanden Dateien (sollte nur X3DAudio1_1.dll @24kb sein) überschreiben.
3.) xactinst.bat ausführen
Ich hab allerdings auch schon von XP usern gehört, bei denen der Start eines Skirmish/LAN Spiels ebenfalls mit einem Crash zum Desktop quittiert wurde
Auf jeden Fall solltest du dein Win2k auf den neusten Stand bringen wenn's das noch net ist, denn alle Systeme auf denen ich das schon ausprobiert hab hatten SP4 und Update-Rollup vom 13.09.2005 sowie neuste Treiber etc. Außerdem sollte der Rest des Oct2006 Updates von DirectX9.0c installiert sein, denn mit früheren DirextX9.0c Versionen könnte XACT Probleme machen.
Ich hoffe das hilft dir weiter
-
- Beiträge: 123
- Registriert: 21.12.2006 14:09
- Persönliche Nachricht:
- gracjanski
- Beiträge: 2020
- Registriert: 27.08.2004 23:54
- User ist gesperrt.
- Persönliche Nachricht:
ich weiss auch nicht, was die Leute gegen die Story haben. Mir gefällt die Hintergrundgeschichte und die Präsentation der Story erinnert mich an Starcraft...v.a. die Besprechung.
aktuell am spielen: Baldurs Gate 2,
Noch vor mir: Arcanum ?, Astebreed ?, Civilization V, Company of Heroes, Crysis, Dark Souls, Day of the Tentacle, Dead Space 1 2 ?, Europa Universalis 4, Final Fantasy 7, Gone Home ?, Gothic 2, GTR 2, Half-Life/ Black Mesa, Homeworld, Heroes of Might & Magic 3, Ikaruga, Medal of Honor - Pacific Assault, Mafia 1, Neverwinter Nights 2, Oblivion, Path of Exile, Rayman Legends, Skyrim, South Park ?, System Shock 2, Total War - Shogun 2
Noch vor mir: Arcanum ?, Astebreed ?, Civilization V, Company of Heroes, Crysis, Dark Souls, Day of the Tentacle, Dead Space 1 2 ?, Europa Universalis 4, Final Fantasy 7, Gone Home ?, Gothic 2, GTR 2, Half-Life/ Black Mesa, Homeworld, Heroes of Might & Magic 3, Ikaruga, Medal of Honor - Pacific Assault, Mafia 1, Neverwinter Nights 2, Oblivion, Path of Exile, Rayman Legends, Skyrim, South Park ?, System Shock 2, Total War - Shogun 2
Nochmals 1000Dank, es stimmt, Skirmish macht "hallo Desktop" aber normales Spiel funktioniertanonymous-user hat geschrieben: Ich hab allerdings auch schon von XP usern gehört, bei denen der Start eines Skirmish/LAN Spiels ebenfalls mit einem Crash zum Desktop quittiert wurde
Ich hoffe das hilft dir weiter
Supergenial, deine Hilfe!
P.S.: es gibt übrigens im Dezember-DX9 noch eine xactengine2_5.dll :wink:
-
- Beiträge: 6
- Registriert: 20.02.2007 12:07
- Persönliche Nachricht:
Tja da bist du wohl einer der Unglücklichen mit deren Systemkonfiguration SC irgendwie net klarkommt. Der erste Patch kam ja gestern raus, vielleicht bringt der ja wasSchnitzl hat geschrieben:Nochmals 1000Dank, es stimmt, Skirmish macht "hallo Desktop" aber normales Spiel funktioniert
Mit der kann natürlich genauso verfahren werden wie mit den anderen. Als Grundlage hatte ich das DX9 von der GameStar 03/2007 genommen, keine Ahnung warum die das neuere noch nicht dabei hatten. Da SC bei der Installation aber sowieso nur das Oktober-Update installiert hab ich es mir gespart, erst noch das allerneuste runterzuladen (jaja es gibt tatsächlich noch Leute deren Wohnort in einer DSL-freien Zone liegt )Schnitzl hat geschrieben:P.S.: es gibt übrigens im Dezember-DX9 noch eine xactengine2_5.dll :wink: