Warum muss man Spiele installieren?

andy_0 schrieb:
Ja. Super Gedanke. Jede Anwendung schreibt bei jedem Start aufs Neue das sie DLLs X und Y braucht. Super. Dann braucht man nur noch mitloggen wie oft die gestartet wurde und dann beim "löschen" (Ja wie denn ohne Setup? Ach egal!) die "DLL in use" Einträge eben so oft entfernen, wie die Anwendung gestartet wurde. Die Seriennummern für das Spiel und Co. könnte man bei nicht Existenz erneut abfragen und abspeichern.

Ich sehe schon, du hast das komplett durchdacht.

Du bist mir einer...

Das das Spiel sich einfach merkt ob es diesen Vorgang schon gemacht hat...auf diesen Gedanken kommst du nicht.
Ich hoffe du bist kein Spiele entwickler.

Steam dient also als Setup. Und warum kann so ein Spiel solch einen "Setup" nicht intigriert haben?
Mehr um die Ecke denken kollege ;)
 
andy_0 schrieb:
Ja. Super Gedanke. Jede Anwendung schreibt bei jedem Start aufs Neue das sie DLLs X und Y braucht. Super.

Huh? Eine entsprechende Prüfung ob der Key bereits existiert kostet dem Programmierer etwa 2 Zeilen Code und dem Anwender wenige Nanosekunden seiner Zeit.

Mal davon abgesehen verstehe ich nicht, warum ein Spiel in die Registry schreiben sollte, welche DLLs es benutzt...
 
Zu der Zeit war eine Festplatte auch nur so groß wie 2 CDs.
Da waren 100MB für ein Spiel schon viel - heute ist das natürlich ein Witz.

So hat ein Spiel mal gut 4 CDs benötigt die man immer mal wieder wechseln musste, aber der Platz auf der HDD war einfach nicht da.
 
Mr.Malik schrieb:
Muss man nicht unbedingt! Das ist nur notwendig, wenn...

Danke. Du hast es verstanden!!!
Ergänzung ()

grünel schrieb:
Huh? Eine entsprechende Prüfung ob der Key bereits existiert kostet dem Programmierer etwa 2 Zeilen Code und dem Anwender wenige Nanosekunden seiner Zeit.

Mal davon abgesehen verstehe ich nicht, warum ein Spiel in die Registry schreiben sollte, welche DLLs es benutzt...

Und noch einer ders kapiert! Danke euch Jungs!
 
@ Mr.Malik
Das Problem geht über einfache Zusatzanwendungen, die sowieso keiner will, hinaus. Wie bereits beschrieben lag der ursprüngliche Gedanke der Registry darin, zu erkennen welche DLLs vorhanden sind, welche benötigt werden und welche nicht gelöscht werden dürfen.

Die Abfrage und Erstellung von Sondereinträgen wie die Seriennummer für das Spiel ist natürlich reine Gängelung ohne das das Spiel theoretisch laufen könnte. Ohne die Existenz von notwendigen DLLs, die man eben nicht zwingend voraussetzen kann, läuft es jedoch nicht.

@ Yuuri
Die Registry in ihrer Form als Baumstruktur Datenbank ist sehr unschön gelöst. Das ist an ihr veraltet.

@ grünel
Anwendungen tun das nunmal so. Ansonsten könnte ein Setup, dessen Anwendung die DLL ebenfalls verwendet, bei der Deinstallation einfach mit löschen und ein anderes Spiel würde auf einmal nicht laufen. Also dürfte man nie wieder DLLs löschen oder keine Anwendungen deinstallieren. Abgesehen davon gibt es DLLs des selben Typs in verschiedensten Versionen.

@ Sunbird84
Ich schlage dir mal vor selber ein Setup für ein komplexere Anwendung zu erstellen und dann reden wir mal davon, was möglich ist und was sinnvoll.
 
Zuletzt bearbeitet:
Sorry aber trollst du andy?
Das kann doch alles nicht ernst gemeint sein. Vielleicht ein april Scherz?

Beantworte doch einfach kurz die Frage:
Was kann ein Installationssetup, was nicht auch andersweitig in eine Programmexe einzubauen wäre?

Was meinst du mit dlls löschen bei Deinstallation? Wo liegt das Problem das ein programm/Spiel einfach einen Reg eintrag erstellt das es diese Dlls benötigt und diese dann erhalten bleiben wenn man ein anderes Programm deinstalliert.
 
Zuletzt bearbeitet:
andy_0 schrieb:
Das Problem geht über einfache Zusatzanwendungen, die sowieso keiner will, hinaus. Wie bereits beschrieben lag der ursprüngliche Gedanke der Registry darin, zu erkennen welche DLLs vorhanden sind, welche benötigt werden und welche nicht gelöscht werden dürfen.
Die Registry wurde ins Leben gerufen, um Konfigurationen zu speichern. Später wurde sie erweitert um INI-Dateien abzuschaffen.

Start -> Ausführen -> regedit -> ? -> Hilfethemen -> Erster Satz:
Informationen zur Systemkonfiguration werden zentral in einer hierarchischen Datenbank gespeichert: der so genannten Registrierung.

http://en.wikipedia.org/wiki/Windows_Registry schrieb:
When first introduced with Windows 3.1, the Windows registry's primary purpose was to store configuration information for COM-based components.

Für unterschiedliche (Versionen von) DLLs gibts seit Vista den WinSxS-Ordner, vorher lagen die einfach in einem Ordner in %path% bzw. im Verzeichnis der Anwendung.
andy_0 schrieb:
Die Registry in ihrer Form als Baumstruktur Datenbank ist sehr unschön gelöst. Das ist an ihr veraltet.
Was ist daran veraltet? Ich sehe genau gar keinen Unterschied zu Dateisystemen oder anderen Systemen. Ob nun irgendwas in HKLM\SOFTWARE\Microsoft\Windows\... liegt oder in /etc/apache2/httpd.conf ist doch Jacke wie Hose - mit dem Geschwindigkeitsvorteil einer Datenbank und direktem Umgang mit korrekten Datentypen.
Wie soll es sonst gelöst werden? Richtig, eine "bessere" Lösung gibts (momentan?) nicht, denn irgendwo müssen die Daten hierarchisch angeordnet werden. Falls du einen besseren Weg kennst, bspw. einem Dateitypen unterschiedliche Kontextmenüeinträge zuzuweisen, dann raus damit.

Auch ist das Importieren von vereinzelten Informationen extrem vereinfacht.
 
andy_0: Du redest von Anwendungen im Allgemeinen - hier geht es aber um Spiele!

Fast alle Anwendungen muss ich bei einer Windows-Neuinstallation neu installieren,
und das meist auch zurecht. Die habe ich deshalb gleich mit auf der Windows-Partition.

Spiele hingegen haben kaum Dependencies - DirectX, VisualC++, mehr ist es selten.
Ganz wichtig auch dabei: KEIN Spiel löscht die jemals bei der Deinstallation!
Und wenn ein Spiel mal etwas braucht, dann teilt es das mit: "msvcp71.dll missing!" o.Ä.,
woraufhin man die max. 5 DLLs die ein Game mal braucht aus dem alten Windows-Verzeichnis
rauspulen oder runterladen kann, oder das dazugehörige Paket nachinstallieren.
Die benötigten Librarys befinden sich auch fast immer auf der CD/DVD.
Auch SecuROM und Games for Windows LIVE habe ich schon erfolgreich manuell nachinstalliert.

Spiele sind da AN SICH die pflegeleichtesten Anwendungen überhaupt - von unnötiger
Gängelei ehrlicher Kunden seitens des Publishers eben abgesehen.
Bis ~2005 haben noch ~95% meiner Spiele sich problemlos starten lassen nach Win-Neuinstallation.
 
Zuletzt bearbeitet:
Mr.Malik schrieb:
andy_0: Du redest von Anwendungen im Allgemeinen - hier geht es aber um Spiele!

Fast alle Anwendungen muss ich bei einer Windows-Neuinstallation neu installieren,
und das meist auch zurecht. Die habe ich deshalb gleich mit auf der Windows-Partition.

Spiele hingegen haben kaum Dependencies - DirectX, VisualC++, mehr ist es selten.
Ganz wichtig auch dabei: KEIN Spiel löscht die jemals bei der Deinstallation!
Und wenn ein Spiel mal etwas braucht, dann teilt es das mit: "msvcp71.dll missing!" o.Ä.,
woraufhin man die max. 5 DLLs die ein Game mal braucht aus dem alten Windows-Verzeichnis
rauspulen oder runterladen kann, oder das dazugehörige Paket nachinstallieren.
Die benötigten Librarys befinden sich auch fast immer auf der CD/DVD.
Auch SecuROM und Games for Windows LIVE habe ich schon erfolgreich manuell nachinstalliert.

Spiele sind da AN SICH die pflegeleichtesten Anwendungen überhaupt - von unnötiger
Gängelei ehrlicher Kunden seitens des Publishers eben abgesehen.
Bis ~2005 haben noch ~95% meiner Spiele sich problemlos starten lassen nach Win-Neuinstallation.

Jop. So ist es. Und selbst wenn die Abhängigkeiten größer sein sollte. Dann dürfte es doch kein problem sein das das Spiel z.B. kurz eine Meldung gibt das abhängigkeiten fehlen, diese dann automatisch herunterläd oder einen nach der installations DVD/Cd fragt.

Gutes Negativbeispiel ist Sims 3. Sind ja mit den ganzen Addons dutzende Cds/Dvds. Das ist eine arie nach einer Windows neuinstallation diese wieder alle manuell neu zu installieren. Kopiert man vor der installation einfach alle Spieledaten dann nutzt dies nichts. Das Spiel startet mit der Meldung das es nicht richtig installiert sei. Fertig.

Es wäre doch kein Problem wenn das Spiel einfach einen neue default config, savegameordner usw. anlegt, kurz auf abhängigkeiten überprüft usw.
 
Zuletzt bearbeitet:
Die Frage des TE habe ich mich auch schön des öfteren gestellt. Ich erweitere das ganze noch, ich frage mich, warum man überhaupt was installieren muss.

So als Beispiel: Ich habe Gothic 2+Addon seit ca 8 Jahren bei mir auf der Platte liegen, trotz mehrmaligen Neusinstallationen vom OS, Plattenwechseln usw. startet das Spiel, ohne Neuinstallation, direkt aus dem Ordner. Es sind auch alle Einstellungen, Savegames etc. noch so, wie ich sie beim letzten Spielen hatte. Ich weis zwar nicht warum es läuft, ich weis aber das es geht.

Auch mit dem OS habe ich so meine Probleme, warum muss das überhaupt hochfahren? Wenn man mal bedenkt, das sich die Bootzeiten seit 1995 kaum verbessert haben (ich meine jetzt nicht mit SSD) obwohl die Rechenleistung um mehr als das 100 Fache gestiegen ist. Da passt doch was nicht.

Dank Windows wird doch immer mehr Rechenleistung, Platz und Energie gebraucht. Windows 7 braucht alleine schon 30GB Platz. Würde nicht alles schneller laufen, wenn es keine Registry geben würde?

Ich meine es gibt genügend Programme die auch ohne Installation laufen, z.B. CPUz, Prime etc. Und diese Programme erkennen doch auch was so auf dem Rechner los ist...
 
Problem ist beim Bootvorgang, dass die Rechenleistung dazu nicht relevant ist. Beim Bootvorgang passieren verschiedene Dinge, die zum Großteil sequentiell ablaufen müssen bzw. nur sehr schwer parallel ablaufen können. Heutzutage booten die OS schon relativ schnell, ein großer Teil wird dann von OS-externen Bereichen wie das BIOS benötigt. Das ist eines der Probleme, welches (U)EFI adressiert. Am Ende muss man aber noch immer Daten von der HDD in den RAM laden - PCs basieren schließlich noch immer auf der Von-Neumann-Architektur mit dem Von-Neumann-Flaschenhals (Daten von langsamen Speichermedium wie HDD in RAM für CPU).

Wenn du möchtest warte auf den großflächigen Einsatz des Memristors (in vielleicht 20-30 Jahren) oder versetze dein PC eben in den Stand By d.h. Suspend to RAM (S3) anstatt Shutdown (S5). Ab Microsoft Windows Vista kann man den Standardaktion einfach definieren, sodass du anstatt "Herunterfahren" eben "Stand By" als Button hast.
 
Zurück
Oben