Wieso ist eine Installation noetig?



  • Hi,

    ich finde diese ganze Installiererei auch absolut schwachsinnig. Heutezutage wird ja vielfach schon ein Hello-World-Programm mit Instalationsroutine geliefert. Wenn wengistens alles bei der Deinstallation wieder runterginge wäre es ja noch OK, aber wenn man genügend oft was draufgezogen und wieder runtergeschmissen hat ist meist das System so zugemüllt, das es eigentlich nur noch eine saubere Alternative gibt: Neuinstallieren.

    In der Beziehung versthe ich KleinWeich nicht. Die hatten mit Win 95 die Möglichkeit es besser zu machen und habens noch schlechter gemacht. Wieso müssen Programme in die Registry und in die Systemverzeichnisse schreiben? Aus meiner Sicht gehört da nur ein Verweis auf das entsprechende Programm rein, und bei dem konkreten Programm hat dann eine eigene Registry und ein eigenes Systemverzeichnis zu liegen. Nach jedem Ändern an einer von den vielen Registrydateien kann ja dann irgend ein Linker aus der Systemregistry und den einzelnen Programmregistrys eine Arbeitsregistry zusammenlinken, genau wie entsprechende Pfade für die jeweils aktuellste DLL-Version setzen. Aber damit hätte man ein praktisch wartungsfreies System. Man packt ein Programm irgendwohin und teilt dem Systemmit wo es ist. Wenn man es nicht mehr braucht löscht man einfach das gesamte Verzeichnis und das System merkt beim nächsten Start das eine Programmregistry nicht da ist und linkt sich schnell mal eine neue Arbeitsregistry zusammen. EDV könnte so schön sein.

    Ich versuche bei meinen Programmen so weit wie möglich ohne Installation auszukommen. Auchh wenn das ggf. Mehrarbeit ist, weil ich bestimmte Sachen die sonst fertig vorhanden sind selber von Hand erledigen muß. Aber spätestens wenn man neben der Programmentwicklung noch was anderes zu erledigen hat und dann noch die ganzen Nutzer betreuen muß bei denen es irgendwelche Installationsprobleme gibt, lernt man Programme die ohne Installation laufe schätzen.

    Gruß Mümmel



  • thordk schrieb:

    die antwort ist eigentlich ganz simple: komfort. es ist für den anwender wesentlich simpler, eine einzelne datei zu starten, kurz zu warten und dann findet er entsprechende icons zum starten an der gewohnten stelle.

    wenn ein programm sich immer selbstständig "installieren" müsste, sobald es gestartet wird, versteckst du die installationsroutinen einfach in deinem code. auch kein großer unterschied.

    moderne programme verwenden shared libraries und so gerümpel, die je nach system in gewisse zentrale stellen gehören. lib hier, conf datei da. sowas nimmt ein installationsprogramm dem anwender ab und schützt vor fehlbedienung.
    guck dir viele linux programme an. die haben schlicht ne readme dabei, die einem sagt, wohin man diverse dateien kopieren muss und wie man die konfiguration manuell anpassen muss. entsprechend voll sind support foren mit anfragen hilfloser anwender 😉

    Nein das Programm hat keine Installationsroutine. Nur eine optionale Abfrage (also wenn das System vollkommen komisch oder, oder wenn Shard Libs nicht gefunden werden), wo eben die Shared Libs liegen.

    Ausserdem schau dir doch mal eine Setup.exe an: Da wird zu 99% alle DLLs mitgeliefert die benoetigt werden. Unter Linux ist das die Ausnahme, aber unter Windows doch der Standard.

    Wenn Linux Programme nur einen Quellcode haben, dann wird der Code mit ./configure && make kompeliert. Das Programm kannst du dann im Verzeichnis starten ohne etwas zu installieren. Im Idealfall sieht eine README so aus:

    Noetig sind Foo Lib, Bar Lib, Installation:
    ./configure
    make
    make install
    

    Wobei der dritte Schritt eigentlich optional ist, da man nach dem ersten make das Programm starten kann.

    muemmel schrieb:

    Ich versuche bei meinen Programmen so weit wie möglich ohne Installation auszukommen. Auchh wenn das ggf. Mehrarbeit ist, weil ich bestimmte Sachen die sonst fertig vorhanden sind selber von Hand erledigen muß. Aber spätestens wenn man neben der Programmentwicklung noch was anderes zu erledigen hat und dann noch die ganzen Nutzer betreuen muß bei denen es irgendwelche Installationsprobleme gibt, lernt man Programme die ohne Installation laufe schätzen.

    Ich frag mich inzwischen sowieso was das ganze soll. Zum Beipsiel so ein simples Programm wie der Icq-Client. Kann man einfach eine zip Datei runterladen die das ganze Programm in ein Verzeichniss entpackt und man es danach einfach von ueberall starten kann? Nein es werden root-Rechte benoetigt.



  • ist doch gut, dass die programme die dlls mitliefern. wo sollen sonst funktionen hin, die das programm benötigt? allgemeine funktionen werden aus der winapi, .net-framework oder java-framework geholt.
    das hat alles seine richtigkeit.

    die setups automatisieren das kopieren in die richtigen verzeichnisse. oder willst du eine zip-datei herunterladen, die 20 dlls enthält und alles per hand nach c:/programme/bla kopieren?

    und vergleich doch bitte nicht ein setup mit dem kompilieren von quellcode unter linux. das ist ein unterschied wie tag und nacht. du kannst von keinem 0815-anwender erwarten, dass er sich erst den quellcode besorgt und ne runde durchkompiliert 🙄

    ich muss dir aber rechtgeben, dass es absolut nervig ist, wenn uninstaller reste hinterlassen. das ist aber faulheit und unachtsamkeit der leute, die das setup erstellt haben. du kannst fast jedes setup so skripten, dass es auch nachträglich erzeugte dateien (a la settings.ini) löscht, wenn der benutzer das will.
    ich hyperventiliere schon, wenn der uninstaller noch den programmordner unter c:/programme nicht löscht. das ist ätzend 😡



  • -wiczer- schrieb:

    ist doch gut, dass die programme die dlls mitliefern. wo sollen sonst funktionen hin, die das programm benötigt? allgemeine funktionen werden aus der winapi, .net-framework oder java-framework geholt.
    das hat alles seine richtigkeit.

    die setups automatisieren das kopieren in die richtigen verzeichnisse. oder willst du eine zip-datei herunterladen, die 20 dlls enthält und alles per hand nach c:/programme/bla kopieren?

    Nein nix kopieren. In ein Verzeichnis auspacken und die .exe starten. Mehr nicht.

    In der Java-Welt funktioniert das ja. Einfach ein .jar runterladen, und irgendwo starten. Simpler gehts doch kaum.

    Das Problem der Shared Libs wurde in Linux schon Jahrzente geloest, da brauchst du kein Java/.NET Framework. Alle Libs sind auf jeder Linux-Distribution in /usr/lib. Sie werden auch automatisch aktuell gehalten durch ein simples apt-get upgrade.



  • wie stellst du dir das denn bei großen programmen vor, die eigene Dlls haben?

    willst du etwa die dll-technik abschaffen und immer alles in eine exe-datei stecken? dann viel spaß beim updaten von großen programmen. anstatt einzelne dlls auszutauschen, musst du die ganze exe austauschen.

    außerdem kannst du nicht davon ausgehen, dass du immer den quellcode eines programms hast und es dann kompilieren kannst. es gibt sowas wie geistiges eigentum.

    die dlls in system32 werden auch aktuell gehalten. das ganze nennt sich windows-update.



  • -wiczer- schrieb:

    außerdem kannst du nicht davon ausgehen, dass du immer den quellcode eines programms hast und es dann kompilieren kannst. es gibt sowas wie geistiges eigentum.

    was hat das eine mit dem anderen zu tun? wenn ich quellcode öffentlich zugänglich mache bleibt es nach wie vor mein geistiges eigentum. die verteilung von proprietärer software bedeutet allerhöchstens den versuch dieses zu schützen. inwiefern dies sinnvoll und wirksam ist steht auf einem anderem blatt und soll hier nicht gegenstand der diskussion werden 🙂



  • -wiczer- schrieb:

    die setups automatisieren das kopieren in die richtigen verzeichnisse. oder willst du eine zip-datei herunterladen, die 20 dlls enthält und alles per hand nach c:/programme/bla kopieren?

    was? warum das denn? man entpackt z.b. alles (exe, dlls, ini-files, usw) in ein beliebiges verzeichnis und hat alles an einem platz. das verzeichnis könnte man auf seinen usb-stick kopieren und hätte mit 3 mausklicks sein software samt aller einstellungen mobil gemacht. kopiert man die software auf ein netzlaufwerk, kann jeder am netz angeschlossene user damit arbeiten. alles unglaublich praktisch. warum sollte man alle komponenten quer übers ganze system verstreuen (so wie ein installer es macht)? und am schlimmsten *registry einträge machen* (<--übelster_bullshit_dens_gibt!!) es gibt aus technischer sicht keinen vernünftigen grund für installer (festplattenplatz sparen durch verhindern von mehrfachen kopien einer dll ist in der heutigen zeit, in der es 8GB SD-karten gibt und die leute mehrere 500MB fette videofilme auf der platte horten, kein argument mehr). im gegenteil, es gibt probleme mit verschiedenen dll-versionen und restlos beseitigen können installer oft auch nicht alle. die einzige daseinsberechtigung von installern ist die tatsache, dass auch 08/15-dumm-user (die noch nicht mal winrar bedienen können) sich neue programme aufspielen und benutzen können.
    🙂



  • installationshasser-freak schrieb:

    -wiczer- schrieb:

    die setups automatisieren das kopieren in die richtigen verzeichnisse. oder willst du eine zip-datei herunterladen, die 20 dlls enthält und alles per hand nach c:/programme/bla kopieren?

    was? warum das denn? man entpackt z.b. alles (exe, dlls, ini-files, usw) in ein beliebiges verzeichnis und hat alles an einem platz. das verzeichnis könnte man auf seinen usb-stick kopieren und hätte mit 3 mausklicks sein software samt aller einstellungen mobil gemacht. kopiert man die software auf ein netzlaufwerk, kann jeder am netz angeschlossene user damit arbeiten. alles unglaublich praktisch. warum sollte man alle komponenten quer übers ganze system verstreuen (so wie ein installer es macht)? und am schlimmsten *registry einträge machen* (<--übelster_bullshit_dens_gibt!!) es gibt aus technischer sicht keinen vernünftigen grund für installer (festplattenplatz sparen durch verhindern von mehrfachen kopien einer dll ist in der heutigen zeit, in der es 8GB SD-karten gibt und die leute mehrere 500MB fette videofilme auf der platte horten, kein argument mehr). im gegenteil, es gibt probleme mit verschiedenen dll-versionen und restlos beseitigen können installer oft auch nicht alle. die einzige daseinsberechtigung von installern ist die tatsache, dass auch 08/15-dumm-user (die noch nicht mal winrar bedienen können) sich neue programme aufspielen und benutzen können.
    🙂

    ich denke es kommt immer auf den umfang der software an. ein kleiner media player z.B. sollte meiner meinung nach in form von archiven vertrieben werden. aber bei software wie visual studio und office bin ich schon froh nicht alle abhängigkeiten von hand auflösen zu müssen 🙂

    eins muss ich noch sagen:

    ZOMG dieses wort!11!!!11!!!fünfzehn!!!11!!! 😮

    installationshasser-freak schrieb:

    [...]programme aufspielen[...]

    😮



  • sothis_ schrieb:

    ich denke es kommt immer auf den umfang der software an. ein kleiner media player z.B. sollte meiner meinung nach in form von archiven vertrieben werden. aber bei software wie visual studio und office bin ich schon froh nicht alle abhängigkeiten von hand auflösen zu müssen

    vs2005 ist wohl 'by design' so konzipiert und soll sich tief ins system eingraben. aber ich glaube dass es auch anders geht. noch vs-6 liess sich bequem auf 'nen usb memory-stick kopieren und überall benutzen. es gab dann zwar beim start eine hässliche meldung 'unregistrierte version', aber wen juckt das? ich hab' mal ein kleines java-programm als zip-file weitergegeben, in dem auch die JRE enthalten war (ich glaub das waren an die 70MB nur für die JRE), damit auch leute das programm benutzen können, die kein JRE installiert haben. hat nie jemanden gestört. die meisten haben es von CD gestartet und waren hocherfreut, dass man nichts installieren braucht
    🙂



  • sothis_ schrieb:

    ich denke es kommt immer auf den umfang der software an. ein kleiner media player z.B. sollte meiner meinung nach in form von archiven vertrieben werden. aber bei software wie visual studio und office bin ich schon froh nicht alle abhängigkeiten von hand auflösen zu müssen 🙂

    Unter Mac OS kopiert man das Office Application Bundle (sieht wie nur eine einzelne Datei aus) in den Programme Ordner (oder sonstwo hin) und ist fertig mit der Installation. Den Rest macht sich Office selbst.

    Moeglich ist es allemal und in 99% der Faelle hat eine Anwendung auch nicht irgendwohin etwas zu schreiben.


Anmelden zum Antworten