# Spiele-Autorun-Menü-(Um)Programmierung mit Java?



## huntertech (20. April 2010)

*Spiele-Autorun-Menü-(Um)Programmierung mit Java?*

Da ich meine PC-Spiele oft deinstalliere und wieder installiere und ich im allgemeinen Spaß an der Programmierung habe, habe ich mir gedacht, ob man nicht die (Autorun)Menüs von Spielen (also die Menüs, wo Installieren, Spielen und so steht) umprogrammieren kann, sodass diese dann z.B. einen Button haben, der automatisch den neuesten Patch installiert (den man natürlich in einen dafür erstellten Ordner kopiert hat und umbenannt hat). Oder ein Button, der alle Dateien aus einem Ordner (z.B. Uncut-Patches) ins Installationsverzeichnis kopiert und die vorhandenen Dateien ersetzt.

Jetzt die Frage: Ist sowas mit (relativ) wenig Aufwand überhaupt möglich, dass man also innerhalb von einem Tag so ein Menü umprogrammiert hat? Und ist das mit der Sprache Java denn machbar? Und wie "entpackt" man die Menüs überhaupt so, dass man sie in Java umschreiben kann?

Danke schon mal!


----------



## bingo88 (20. April 2010)

*AW: Spiele-Autorun-Menü-(Um)Programmierung mit Java?*

Das müsste eigentlich machbar sein, aber:
Der Autorun läuft von CD, d. h. du müsstest auf jeden Fall eine eigene CD erstellen (und dann ggf. die Pfade zur Autostart anpassen). Das größere Problem ist aber sicherlich, dass die meisten Autostart-Programme als kompilierte Binärform vorliegen, inklusive Ressourceneinbettung. Dies bedeutet, du müsstest alles from scratch, also von Anfang an, nachprogrammieren. Grundsätzlich sind solche Menüs relativ simpel aufgebaut, der reine Programmieraufwand wäre für jemanden mit GUI-Erfahrung sicherlich relativ gering. Die Ressourcen (Bilder, Sounds, ...) müssen idR extrahiert werden, damit du sie in deinem Programm einbinden kannst.


----------



## Bauer87 (21. April 2010)

*AW: Spiele-Autorun-Menü-(Um)Programmierung mit Java?*

Die einzige Möglichkeit, das Praktikabel zu machen, wäre ein Programm, dass das eigentliche Autorun-Programm einbettet. Jetzt bleibt nur noch das Problem, dieses Programm statt des eigentlichen Autoruns zu starten. Per Autorun geht das nicht, weil du ansonsten den Kopierschutz umgehen müsstest, wenn du eine neue CD mit neuem Autorun brennst. Also musst du den eigentlichen Autorun abschalten und für jedes Programm einen Alternativ-Starter auf der Festplatte ablegen. Ich denke mir das so, dass Windows bei einlegen der CD erst checkt, ob unter C:/alternativeautoruns/$(cdname) etwas liegt und dann das statt des Autoruns ausführt.

Wenn die Installer Kommandozeilen-Optionen für die Installationparameter akzeptieren würden, wäre das ein fünfzeiliges Script als alternativer Autorun. So wirst du da aber deutlich mehr Spaß mit haben. Merke: Windows braucht einen Paketmanager.


----------



## huntertech (21. April 2010)

*AW: Spiele-Autorun-Menü-(Um)Programmierung mit Java?*

Ich habe zwar nur die hälfte von dem verstanden, was ihr geschrieben habt aber trotzdem danke 

Aber soweit hab ichs verstanden: Das eigentliche Menü einzubetten ist besser als dieses umzuschreiben. Auf einer Spiele-DVD ist ja immer eine "Autorun.inf", in der steht ja, welche Datei mit welchem Icon geöffnet wird, kann man da nicht einfach z.B. auf "EigenesMenue.exe" umschreiben?

Und das "EigenesMenue.exe" Menü enthält dann die Auswahl zwischen Hauptmenü und einem eigens für das Spiel erstellten Menü. Das Hat den Vorteil, dass man dieses Eigene Menü für jedes Spiel benutzen kann und das andere Menue öffnet dann z.B. nur die Datei "Patch.exe" oder so. Dann wäre das für jedes Spiel funktionsfähig.

Aber ist das denn soweit möglich? Dass man:

1. Die Autorun.inf umschreibt und die noch geht

2. Man ein Auswahlmenü macht, was zwei Untermenüs öffnen kann

3. Man in das eigene Untermenü die Befehle einbaut, dass es automatisch alle Dateien in einem Ordner woandershin kopiert bzw. alle Dateien in einem Ordner ausführt

4. Man das ganze als Image Verpackt (z.B. mit Virtual CD oder so) und auf der Festplatte lagert (und dann logischerweise nur als Installer, der Kopierschutz bleibt dann natürlich erhalten und die Original-DVD muss dann auch noch eingelegt werden).

5. Und das alles, ohne irgendwelche Kopierschutzmaßnahmen umgehen zu müssen (illegal), soll ja sowieso nur als Installer gedacht sein.


----------



## Bauer87 (21. April 2010)

*AW: Spiele-Autorun-Menü-(Um)Programmierung mit Java?*

Wie willst du auf einer nicht beschreibbaren DVD eine Datei verändern? Du kannst höchstens dein OS so einstellen, dass es die Autorun.inf ignoriert und stattdessen etwas anderes macht. Bei allem anderen bekommst du Probleme mit dem Kopierschutz.


----------



## huntertech (21. April 2010)

*AW: Spiele-Autorun-Menü-(Um)Programmierung mit Java?*

Ich habe nicht vor die DVD zu verändern, die Dateien meiner Spiele liegen auf meiner Festplatte. Von da aus lassen die sich ganz einfach ohne mekernden Kopierschutz installieren, bis auf die Ausnahmen, wie bei der Installation Steam prüfen oder so, da muss dann doch die DVD ran 

Aber ansonsten lassen die sich ohne Probleme installieren und Patchen. Und wenn ich dann Lust aufs Game habe, muss ich DANN ERST die DVD rauskramen.


----------



## bingo88 (21. April 2010)

*AW: Spiele-Autorun-Menü-(Um)Programmierung mit Java?*

Die meisten Autorun-Menüs checken beim Start, ob das Programm bereits installiert ist und passen dann die möglichen Optionen an.


----------



## huntertech (22. April 2010)

*AW: Spiele-Autorun-Menü-(Um)Programmierung mit Java?*

Ja, aber dieses Menü, dem kann man doch ein Vor-Menü zwischenschalten oder?


----------



## bingo88 (23. April 2010)

*AW: Spiele-Autorun-Menü-(Um)Programmierung mit Java?*

Klar, du musst dann nur den Autostart auf dein eigenes Programm umlegen (geht ja mit der Textdatei da). Und dann natürlich den kram noch so auf CD brennen, dass es funktioniert. Also Kopierschutz ist idR ein guter hinderungsgrund für solche Aktionen. Es gab zwar mal ne Zeit, da konnte man mit nem guten Brenner funktionierende 1:1 Kopien erstellen, aber die sind schon lange vorbei.


----------



## huntertech (23. April 2010)

*AW: Spiele-Autorun-Menü-(Um)Programmierung mit Java?*

Wie gesagt, aus eigenen Versuchen weiß ich, dass der Kopierschutz erst bei dem Spielstart greift und die Installation gut funktioniert. Und da ich die Daten nicht brennen möchte, ist der Schutz (für die Installation) nicht sonderlich hinderlich.

Na dann, danke für eure Hilfe. Aber was meint ihr, wie lange kann es dauern, so ein eigenes Autostart-Menü zu erstellen?


----------



## bingo88 (23. April 2010)

*AW: Spiele-Autorun-Menü-(Um)Programmierung mit Java?*

Also nen einfaches Menü (Standard-Windows-Fenster + nen paar Buttons) sind so 10-30 Minuten je nach Erfahrung und Programmiersprache. Wenn ich das jetzt mit C und WinAPI machen würde, wären es eher 30+, mit C# eher 10-15. Ich weiß allerdings nicht, wie du ne Java-Anwendung als Autostart laufen lässt, evtl. mit ner batch-Datei?

Ne andere Frage: Reicht es nicht, die eigenen Menüs in versch. Ordner auf nen USB-Stick zu packen und bei dem Aufruf des eigentlichen Spielmenüs erst eine CD (die original-CD) enzulegen? So könnte man auch immer die neusten Patches haben, ohne jedesmal ne neue Disc brennen zu müssen.


----------



## huntertech (23. April 2010)

*AW: Spiele-Autorun-Menü-(Um)Programmierung mit Java?*

Ich brenn die ja garnicht erst 

Kann man in die Autostart-Textdatei nicht einfach "Menu.jar" eintragen, muss doch keine Exe sein oder?


----------



## bingo88 (23. April 2010)

*AW: Spiele-Autorun-Menü-(Um)Programmierung mit Java?*

Versuchen kannst du das mal, aber ich glaube du musst da iwie auf java.exe -jar <bla> oder so verweisen.


----------



## huntertech (23. April 2010)

*AW: Spiele-Autorun-Menü-(Um)Programmierung mit Java?*

Kann man nicht auch einfach die Jar in eine EXE umwandeln?


----------



## bingo88 (23. April 2010)

*AW: Spiele-Autorun-Menü-(Um)Programmierung mit Java?*

Nope, des geht leider net. Java ist ja kein Maschinencode, sondern sogenannter Bytecode. Dafür braucht mein eine Laufzeitumgebung (die Java VM), die das dann in Maschinencode umwandelt. Bei .Net sieht das ein wenig anders aus, weil das auf Windows zugeschnitten ist. Du brauchst aber trotzdem zum Starten ein installiertes .net framework in der richtigen Version, sonst gibt's nur ne nette Fehlermeldung.


----------



## huntertech (23. April 2010)

*AW: Spiele-Autorun-Menü-(Um)Programmierung mit Java?*

Aber wenn man Java installiert hat. dürfte das doch ähnlich wie .net gehen oder?


----------



## bingo88 (24. April 2010)

*AW: Spiele-Autorun-Menü-(Um)Programmierung mit Java?*

Kann sein, dass das funktioniert. Sowas habe ich noch nicht getestet ^^. Mit java -jar <datei> müsstest du aber auf der sicheren Seite sein.


----------

