Gute programme brauchen kein Setup... Oder doch?



  • Ich habe das mal von dem Original gesplittet: http://www.c-plusplus.net/forum/viewtopic-var-t-is-142884.html

    Und meine Meinung: So ein Setup erspart viel Arbeit beim kopieren usw.
    Autostartkram und andere Verknüpfungen werden gleich miterstellt, und es kann einem echt viel Arbeit abnehmen.
    Einige unserer User sind schon mit dem Doppelklicken eines Icons leicht überfordert - wie soll dann bitte ein telefonisches "Fernsteuern" einer manuellen Installation aussehen?

    Ich habe so eine Situation etwa einmal pro Woche und brauche trotz Setup etwa 30 Minuten - statt schätzungsweise 2 Stunden. 😮

    ...so, jetzt schiebe ich Euch noch ins rudpf 🙂



  • Dieser Thread wurde von Moderator/in estartu aus dem Forum MFC (Visual C++) in das Forum Rund um die Programmierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • net schrieb:

    dann lass uns auf einen mod warten, dass er es verschieben mag...
    ich finde, gute software legt configfiles und andere informationen, dlls etc., die es braucht, in einem arbeitsverzeichnis relativ zur .exe an. auch die registry sollte nicht, oder nur lesend verwendet werden.

    Das entspricht ja auch Microsofts Zukunftsversion. Aber: Es reicht nicht die
    Config-Files im Anwendungsverzeichnis zu haben. Viele Optionen sollen User-
    abhängig konfiguriert werden können. Also müssen sie nach %userprofile%.
    Und schon ist ein Setup wieder Pflicht. Trotz allem ist es praktisch wenn
    die Konfiguration per Backup des jeweiligen Verzeichnisses gesichert werden
    kann - auch wenn es nicht unbedingt das Anwendungsverzeichnis ist. Opera
    und Thunderbird zeigen hier, wie es gehen kann und verzichten auf Registry-
    Einträge für die Konfig.



  • Hi

    Kleinere Programme können durchaus auch ohne setup auskommen. Dann sollten sie auch ohne andere bedingungen laufen können und alles was sie brauchen selber mitbringen. Und nur eine Datei haben. Alles andere ist dann nicht DAU kompatibel.

    Bei allem was mehr dateien hat ist dann ein setup / installer sinvoll. Wie schnel hat z.B. so ein DAU die Verzeichnisstrucktur beim entpacken einer zipdatei versaut? Bei einem Setup kann man z.B. die ganzen Randbedingungen abprüfen DLL versionen, zustazprogramme, Netzwerkverbindungen, Dienste, Version des IE, .Net Framework, ... Ggf notwendige Konfigurationen schon abfragen, die Dateien sauber in die Unterverzeichnisse copieren. Oder auch die ggf erwünschten einträge im Startmenue vornehmen.

    Zum Thema Registry. einerseits sollte da nichts rein, was da nicht wirklich sinn macht. Andererseits hats aber auch Vorteile. z.B. ein patch für ein Programm. Kurtz in der Registry nachgeschaut ob das Prog installiert ist und wo, und schon können die dateien eingespielt werden, ohne den user lange zu belästigen wo er das nun hininstalliert hat. ( und die alternative die ganze festplatten zu durchsuchen ist nicht aktzeptabel PUNKT 😡 ) Oder auch bei einem Addon oder so. Kann z.B. auch beim Installer abgefragt werden um z.B. das doppeltinstallieren des Programmes zu erkennen.

    gruss



  • Termite schrieb:

    Bei allem was mehr dateien hat ist dann ein setup / installer sinvoll. Wie schnel hat z.B. so ein DAU die Verzeichnisstrucktur beim entpacken einer zipdatei versaut?

    warum das? normalerweise wird beim entpacken die verzeichnisstruktur automatisch angelegt, so dass da nix schiefgehen kann.

    Termite schrieb:

    Bei einem Setup kann man z.B. die ganzen Randbedingungen abprüfen DLL versionen, zustazprogramme, Netzwerkverbindungen, Dienste, Version des IE, .Net Framework, ... Ggf notwendige Konfigurationen schon abfragen, die Dateien sauber in die Unterverzeichnisse copieren.

    ist es nicht besser, wenn ein programm sowas beim starten selber prüft? so kann es sofort reagieren wenn sich irgendwelche systemeinstellungen geändert haben.

    Termite schrieb:

    Oder auch die ggf erwünschten einträge im Startmenue vornehmen.

    automatisch einträge ins startmenu oder icons auf'm desktop anlegen ist eine weit verbreitete unsitte. den ganzen restmüll muss man oft von hand wieder beseitgen. wer öfters software ausprobiert weiss was ich meine.

    Termite schrieb:

    Zum Thema Registry. einerseits sollte da nichts rein, was da nicht wirklich sinn macht. Andererseits hats aber auch Vorteile. z.B. ein patch für ein Programm. Kurtz in der Registry nachgeschaut ob das Prog installiert ist und wo, und schon können die dateien eingespielt werden, ohne den user lange zu belästigen wo er das nun hininstalliert hat. ( und die alternative die ganze festplatten zu durchsuchen ist nicht aktzeptabel PUNKT 😡 ) Oder auch bei einem Addon oder so. Kann z.B. auch beim Installer abgefragt werden um z.B. das doppeltinstallieren des Programmes zu erkennen.

    warum patchen? einfach die neue version zusätzlich in ein anderes verzeichnis kopieren. dann hat man alte und neue version und kann sich aussuchen welche man benutzt. wer die alte nicht mehr will, löscht einfach den ordner - ganz einfach.



  • Wie sich nen Programm unter Windows verhalten soll kann man hier nachlesen.



  • energyzer schrieb:

    Viele Optionen sollen User-abhängig konfiguriert werden können. Also müssen sie nach %userprofile%.
    Und schon ist ein Setup wieder Pflicht.

    Ähm, wieso?



  • energyzer schrieb:

    Viele Optionen sollen User-
    abhängig konfiguriert werden können. Also müssen sie nach %userprofile%.
    Und schon ist ein Setup wieder Pflicht.

    man kann z.b. mit 'GetUserName()' den namen des momentanen users holen und daraus den namen für ein unterverzeichnis machen, oder eine section in einem ini-file...



  • net schrieb:

    energyzer schrieb:

    Viele Optionen sollen User-
    abhängig konfiguriert werden können. Also müssen sie nach %userprofile%.
    Und schon ist ein Setup wieder Pflicht.

    man kann z.b. mit 'GetUserName()' den namen des momentanen users holen und daraus den namen für ein unterverzeichnis machen, oder eine section in einem ini-file...

    Du kannst dann zur Programmlaufzeit kein Unterverzeichnis mehr machen. Du solltest normal nicht mal Schreibrechte im eigenen Programmverzeichnis haben. Bis sich diese Erkenntnis nicht durchsetzt, wird es weitere tausend schlechte Setups geben. Dabei gibt es für alle wichtigen Verzeichnisse Systemvariablen, auch für solche, wo Benutzer mit nicht-Admin Konten schreiben können.

    Amsonsten ist an den Windows-Setups noch schlecht, dass sie meistens als .exe Datei daherkommen. Viel angenehmer wäre jedoch ein Paketformat, das Windows kennt und selber zu installieren weiß. Hoppla, das gibt es ja. Aber damit kann man dann keine bunten Buttons in den Setup-Assistenten reinmachen, also wird das wohl auch in Zukunft nicht verwendet werden.



  • Optimizer schrieb:

    Viel angenehmer wäre jedoch ein Paketformat, das Windows kennt und selber zu installieren weiß. Hoppla, das gibt es ja. Aber damit kann man dann keine bunten Buttons in den Setup-Assistenten reinmachen, also wird das wohl auch in Zukunft nicht verwendet werden.

    Das hat mich auch schon zu oft gewundert. Zumal diese "Installer" dann meist eh nur ein MSI (evtl. noch ein MST) kapseln. Schwachfug. Wenigstens kann man bei diesem Installern das MSI/MST noch abgreifen, da es während der Installation in einen temporären Ordner gepackt wird.
    Schhlimmer sind die ganz eigentümlichen Installer bei denen man das Setup "capturen" muss um dann mit WISE oder ähnlichen Tools wieder ein einigermassen sauberes MSI zu basteln. Nervig 👎

    Edit: typo



  • net schrieb:

    energyzer schrieb:

    Viele Optionen sollen User-
    abhängig konfiguriert werden können. Also müssen sie nach %userprofile%.
    Und schon ist ein Setup wieder Pflicht.

    man kann z.b. mit 'GetUserName()' den namen des momentanen users holen und daraus den namen für ein unterverzeichnis machen, oder eine section in einem ini-file...

    Das wäre wohl mit die unsauberste Lösung, die man basteln kann 👎



  • net schrieb:

    energyzer schrieb:

    Viele Optionen sollen User-
    abhängig konfiguriert werden können. Also müssen sie nach %userprofile%.
    Und schon ist ein Setup wieder Pflicht.

    man kann z.b. mit 'GetUserName()' den namen des momentanen users holen und daraus den namen für ein unterverzeichnis machen, oder eine section in einem ini-file...

    frickler 👎



  • energyzer schrieb:

    net schrieb:

    dann lass uns auf einen mod warten, dass er es verschieben mag...
    ich finde, gute software legt configfiles und andere informationen, dlls etc., die es braucht, in einem arbeitsverzeichnis relativ zur .exe an. auch die registry sollte nicht, oder nur lesend verwendet werden.

    Das entspricht ja auch Microsofts Zukunftsversion. Aber: Es reicht nicht die
    Config-Files im Anwendungsverzeichnis zu haben. Viele Optionen sollen User-
    abhängig konfiguriert werden können. Also müssen sie nach %userprofile%.
    Und schon ist ein Setup wieder Pflicht. Trotz allem ist es praktisch wenn
    die Konfiguration per Backup des jeweiligen Verzeichnisses gesichert werden
    kann - auch wenn es nicht unbedingt das Anwendungsverzeichnis ist. Opera
    und Thunderbird zeigen hier, wie es gehen kann und verzichten auf Registry-
    Einträge für die Konfig.

    Nein, das ist die Apple Mac OS X Version oder was unter Unix mit /opt versucht wird. Kann natürlich sein, dass MS das auch implementieren will.

    Unter OS X sind die "Programme" (nicht die Unix Programme, sondern das was unter /Applications liegt) eigentlich Verzeichnisse, in denen wird die Konfiguration, Module etc. liegen.

    Daher gibt es für Mac OS X viele Software ohne Installer.



  • gute programme brauchen kein setup, weil sie keinen schindluder mit dem system treiben 😉

    das mag persönlich gefärbt sein, aber die "schönsten" programme sind diejenigen, die in irgendeinem archiv daherkommen, entpackt werden und mit minimalrechten lauffähig sind.

    sollte es nötig sein, irgendwelche konfigurationsfiles anzulegen, so geschieht dies im home verzeichnis des jeweiligen benutzers.

    meine abneigung gegen setups ist einfach die, das man nie weiss, was genau die dinger eigentlich anstellen.



  • Und wer löscht die Daten beim Entfernen des Programms dann?



  • net schrieb:

    Termite schrieb:

    Bei allem was mehr dateien hat ist dann ein setup / installer sinvoll. Wie schnel hat z.B. so ein DAU die Verzeichnisstrucktur beim entpacken einer zipdatei versaut?

    warum das? normalerweise wird beim entpacken die verzeichnisstruktur automatisch angelegt, so dass da nix schiefgehen kann.

    Hab ich schon leidvoll erfahren dürfen. und das geht eigentlich ganz einfach. zip in winzip öffnen , alle dateien Markieren und in das gewünschte verzeichniss mittel drag and drop ziehen und schon ist alles kaput. Vorallem wenn man vom Explorer aus gewönt ist die dateien einfach durch die gegend zu ziehen.

    net schrieb:

    Termite schrieb:

    Bei einem Setup kann man z.B. die ganzen Randbedingungen abprüfen DLL versionen, zustazprogramme, Netzwerkverbindungen, Dienste, Version des IE, .Net Framework, ... Ggf notwendige Konfigurationen schon abfragen, die Dateien sauber in die Unterverzeichnisse copieren.

    ist es nicht besser, wenn ein programm sowas beim starten selber prüft? so kann es sofort reagieren wenn sich irgendwelche systemeinstellungen geändert haben.

    Das man sowas beim programmstart zusätzlich noch mal abprüft dagegen hab ich nichts einzuwendenl. nur wieso mehrere hundert mb installieren und mehrere Minuten wartetzeit um den anwender dann beim Programmstart zu sagen ätsch geht nicht du hast kein DirectX9 installiert oder irgend was anderes z.B. du hast zuwenig arbeitsspeicher, zu langsamen Prozessor,... Das sich der anwender dann aufregt ist klar.

    net schrieb:

    Termite schrieb:

    Oder auch die ggf erwünschten einträge im Startmenue vornehmen.

    automatisch einträge ins startmenu oder icons auf'm desktop anlegen ist eine weit verbreitete unsitte. den ganzen restmüll muss man oft von hand wieder beseitgen. wer öfters software ausprobiert weiss was ich meine.

    Ist sicher eine unsitte. viele anwender wissen aber garnicht wie sie ihr program da überhaut reinbekommen. Die wissen nicht was eine verknüpfung ist gewschweigeden, wie man die anlegt. da brauchst du dann 3 seiten anleitung, damit der DAU das halbwegs hinbekommt (den rest hast du dann am telefon und darfst denen das dann erklähren fernmündlich versteht sich. Würdest du daneben stehne währe das ne aktion von ner Minute. so arber dauerts ggf stunden). Mann kann beim setup dies ja auch geführt machen, und nachfragen ob man das machen soll. ggf ist das aber dann schon wieder für DAUs zuviel weil die nicht wissen was du da eigentlich von ihnen willst.

    net schrieb:

    Termite schrieb:

    Zum Thema Registry. einerseits sollte da nichts rein, was da nicht wirklich sinn macht. Andererseits hats aber auch Vorteile. z.B. ein patch für ein Programm. Kurtz in der Registry nachgeschaut ob das Prog installiert ist und wo, und schon können die dateien eingespielt werden, ohne den user lange zu belästigen wo er das nun hininstalliert hat. ( und die alternative die ganze festplatten zu durchsuchen ist nicht aktzeptabel PUNKT 😡 ) Oder auch bei einem Addon oder so. Kann z.B. auch beim Installer abgefragt werden um z.B. das doppeltinstallieren des Programmes zu erkennen.

    warum patchen? einfach die neue version zusätzlich in ein anderes verzeichnis kopieren. dann hat man alte und neue version und kann sich aussuchen welche man benutzt. wer die alte nicht mehr will, löscht einfach den ordner - ganz einfach.

    Bei kleinen Programmen sicherlich eine sinvolle lösung. Bei grösseren Programmen, die z.B. ganze datenbanken mit anlegen, jedemenge Dateien mit installieren, ist das sicher nicht mehr sinvoll. Auserdem wieder die DAU frage? Welches Programm soll er jetzt verwenden, wie erkennt er das? Wo sind die daten gespeichert? wie werden diese in die neue version übernommen?

    Man sollte nicht vergessen, es gibt leute, für die ist ein pc ein werkzeug wie z.B. ein schraubenschlüssel. Die leute haben keine ahnung von computer, wirklich keine. Die wollen ihre software möglichst einfach installieren, ( one klick to install ) und anschliesend sofort finden so wie sie es gewohnt sind. Begriffe wie explorer, systemsteuerung,... sind bömische dürfer für die, wo sie vileicht mal im urlaub hinfahren.

    Bei einem setup kommtes sicher mit drauf an für welchen personen kreis du ihn entwickelst. für "PC-Profis" oder für leute, die die software nur als werkzeug verwenden, und mit dem ganzen pc zeug ansich nichts am hut haben wollen.

    Noch ne kurtze anektdote: ein Benutzer ruft beim service an und beschwert sich, das er seine software nicht mit dem freischaltcode aktivieren kann, das er ein bestimmtes zeichen nicht auf der Tastatur finden kann. Wie sich dann rausstellte, hat er den pc ordnungsgemäss aufgebaut. nur hat er die Transportfolie der Tastatur nocht abgemacht. Er dachte das sei ein schmutz schutz, damit die tastatur nicht verdreckt / kaput geht. ( das man dadurch keinerlei tasten erkennen kann ist eigentlich einleuchtend aber nciht für diesen benutzer) Mann mus auch zugeben, das KFZ mechaniker nicht gerade die saubersten finger haben. War aber leider kein einzelfall.

    gruss



  • Wo du Datenbanken erwähnst, da muss ich an LAMPP denken. Das kommt als Archiv daher, auf der Website steht ein Befehl (zum Entpacken), den tippt man ein und fertig. Schon ist das Ding installiert und sofort einsatzfähig.
    Und das Ding bedeutet:

    Apache 2.2.0, MySQL 5.0.18, PHP 5.1.1 & 4.4.1 & PEAR + SQLite 2.8.9/2.8.14 + multibyte (mbstring) support, Perl 5.8.7, ProFTPD 1.2.10, phpMyAdmin 2.7.0-pl2, OpenSSL 0.9.8a, GD 2.0.1, Freetype2 2.1.7, libjpeg 6b, libpng 1.2.7, gdbm 1.8.0, zlib 1.2.3, expat 1.2, Sablotron 1.0, libxml 2.4.26, Ming 0.2a, Webalizer 2.01, pdf class 009e, ncurses 5.8, mod_perl 2.0.1, FreeTDS 0.63, gettext 0.11.5, IMAP C-Client 2004e, OpenLDAP (client) 2.3.11, mcrypt 2.5.7, mhash 0.8.18, eAccelerator 0.9.3, cURL 7.13.1, libxslt 1.1.8, phpSQLiteAdmin 0.2, libapreq 2.06-dev, FPDF 1.53

    Will man LAMPP wieder los werden, einfach Verzeichnis löschen, fertig.
    Wenn man für einen kompletten Apache-Server und MySQL und diverses anderes Zeug keinen Installer braucht - warum benötigt dann jedes dahergelaufene Programm das aus mehr als drei Dateien besteht angeblich einen?

    Gerade unter Linux finde ich übrigens die Paketverwaltung immer wieder beeindruckend. Paket auswählen und auf installlieren gehen. Die Paketverwaltung kümmert sich dann darum, dass alle Abhängigkeiten erfüllt sind, lädt die notwendigen Dateien herunter, installiert und konfiguriert die Pakte - fertig. Einfacher geht's ja wohl nicht mehr. Für was also Setups bitte?



  • energyzer schrieb:

    net schrieb:

    energyzer schrieb:

    Viele Optionen sollen User-
    abhängig konfiguriert werden können. Also müssen sie nach %userprofile%.
    Und schon ist ein Setup wieder Pflicht.

    man kann z.b. mit 'GetUserName()' den namen des momentanen users holen und daraus den namen für ein unterverzeichnis machen, oder eine section in einem ini-file...

    Das wäre wohl mit die unsauberste Lösung, die man basteln kann 👎

    und warum?

    Optimizer schrieb:

    net schrieb:

    energyzer schrieb:

    Viele Optionen sollen User-
    abhängig konfiguriert werden können. Also müssen sie nach %userprofile%.
    Und schon ist ein Setup wieder Pflicht.

    man kann z.b. mit 'GetUserName()' den namen des momentanen users holen und daraus den namen für ein unterverzeichnis machen, oder eine section in einem ini-file...

    Du kannst dann zur Programmlaufzeit kein Unterverzeichnis mehr machen. Du solltest normal nicht mal Schreibrechte im eigenen Programmverzeichnis haben.

    eingeschränkte rechte sind oft der auslöser dafür, dass es an allen ecken hakelt. wenn man sicherheitskritische daten hat, dann sollte man die besser durch einen verschlüsselungsalgo jagen...

    Optimizer schrieb:

    Dabei gibt es für alle wichtigen Verzeichnisse Systemvariablen, auch für solche, wo Benutzer mit nicht-Admin Konten schreiben können.

    aber gerade das sorgt dafür, dass die festplatten immer mehr zugemüllt werden. ein programm, das nur in seinem eigenen verzeichnis dateien erzeugt, kann mit 3 mausklicks beseitigt werden und hinterlässt garantiert keine dateileichen.

    Termite schrieb:

    Bei einem setup kommtes sicher mit drauf an für welchen personen kreis du ihn entwickelst. für "PC-Profis" oder für leute, die die software nur als werkzeug verwenden, und mit dem ganzen pc zeug ansich nichts am hut haben wollen.

    zugegeben, wenn ich mal 'n windows-programm mache ist das in 99% aller fälle für 'technische anwender'. die wissen wie man dateien kopiert, löscht usw. für echte 'daus' würde ich das vielleicht so machen, dass das programm erstmal direkt von cd startet und nur bei bedarf auf die festplatte kopiert werden kann. kriegt das einer mit dem kopieren nicht gebacken, kann er immer noch die cd reinschmeissen, damit das zeug läuft. wenn das programm von cd gestartet wird, arbeitet es in einem 'temp' ordner und wenn es von festplatte gestartet wird dann eben relativ zu seinem verzeichnis.

    btw: ich spiele gern mal video-games aber ich hasse spiele auf dem pc. warum? weil das zeug installiert werden muss und sich selten restlos beseitigen lässt. da schmeiss ich doch lieber die playstation an - cd rein - und los geht's



  • net schrieb:

    eingeschränkte rechte sind oft der auslöser dafür, dass es an allen ecken hakelt.

    Stimmt, das liegt aber hauptsächlich daran, daß viele programme so oder so ähnlich arbeiten wie von Dir vorgeschlagen. Würden alle brav ihre Daten da ablegen wo sie hingehören, dann wäre das alles kein Problem.

    wenn man sicherheitskritische daten hat, dann sollte man die besser durch einen verschlüsselungsalgo jagen...

    Es sollte nicht Aufgabe des Benutzers sein, sich drum zu kümmern, daß keine seine Dateien liest/kaputt macht. Das Betriebssystem muß solche Mechanismen zur Verfügung stellen. Bei Dir zu Hause, an dem Rechner an dem nur Du arbeitest mag das egal sein. In einem Rechnerpool oder in einer Firma sieht's da aber ganz anders aus.



  • Jester schrieb:

    net schrieb:

    eingeschränkte rechte sind oft der auslöser dafür, dass es an allen ecken hakelt.

    Stimmt, das liegt aber hauptsächlich daran, daß viele programme so oder so ähnlich arbeiten wie von Dir vorgeschlagen. Würden alle brav ihre Daten da ablegen wo sie hingehören, dann wäre das alles kein Problem.

    das vielleicht nicht, aber dafür habe ich das problem des manuellen festplatte- und registryputzens, alles suchen und löschen was trotz deinstallation noch übrig ist. das finde ich viel nerviger


Anmelden zum Antworten