Gute programme brauchen kein Setup... Oder doch?



  • Optimizer schrieb:

    net schrieb:

    quatsch, kein programm das benutzerabhängige daten/einstellungen benötigt kommt damit klar, wenn der benutzer seine namen/id/etc. ändert, ohne dem programm die änderung mitzuteilen. ...und das ein programm dann gar nicht mehr läuft hat auch keiner behauptet, nur läuft es dann eben unter dem neuen user-account d.h. es kann die daten und einstellungen des ehemaligen users nicht mehr zuordnen.

    Das ist kein Quatsch. Ich kann dir ohne Probleme ein Programm schreiben, das mit dieser Änderung klarkommt, das von dieser Änderung überhaupt gar nichts mitkriegt.

    da haben wir uns missverstanden, sorry, mein fehler. ich meinte mit neuer username == anderer user. selbstverständlich kann man den namen und/oder das passwort ändern. windosen unterscheiden user anhand einer datenstruktur genannt 'sid'. die darf sich ntürlich nicht ändern, damit der user als der selbe identifiziert werden kann. einverstanden?

    Optimizer schrieb:

    - keine abhängigkeiten von lokalen registry-einstellungen oder dateien, die nur auf einem rechner existieren
    - einfaches und restloses beseitigen durch löschen des ordners
    - einfaches vervielfältigen der software einschliesslich aller daten und einstellungen durch kopieren des ordners
    - programm kann von überall her, selbst übers netz gestartet werden
    - koexistenz verschiedener versionen, weil jede nur in ihrem verzeichnis arbeitet

    Diese Vorteile erkaufst du dir teuer, obwohl es billiger geht. Weil ein nicht-Admin das Programm nur noch in seinem Home haben kann. Wenn du dagegen richtig installierst, kann der User sich das Programm immer noch in sein Home installieren, wenn er will.

    das mag ja sein, aber kennst du ein programm (mit ausnahem von irgendwelchen mini-tools die keine dateien anlegen) das alle meine oben aufgezählten punkte erfüllt? ich schätze mal 1 unter 1000 kann das. z.b. firefox (ältere version, wie's aktuell ist weiss ich nicht) liess sich durch kopieren des ordners auf andere rechner bringen und dort ausführen. allerdings hinterliess es auf jedem rechner dateileichen, irgendwelche settings in 'dokumente_und_einstellungen'. mit dev-c++ geht's glaube ich auch, obwohl das bestimmt auch spuren hinterlässt.


  • Administrator

    @Net etwas musst du mir noch erklären, damit ich vollständig verstehe wie du da deine Gedanken darüber formst:

    Also du bist wohl mit einem Installer/Deinstaller einverstanden, welcher wirklich vollständig deinstalliert? Eben nichts verändert bei installieren usw. usf. So dass du installierst, und einfach das Programm startest. Dabei aber immer noch alles andere verwenden kannst. Ohne irgendwelche Veränderungen oder Einschränkungen. Und wenn du deinstallierst, dass du wirklich überhaupt nirends noch irgendetwas vom Programm findest. Ob in der Registry oder in den Anwendungsdaten.

    Dein einziges Argument dagegen scheint mir folgendes zu sein:
    "Das machen aber in Wirklichkeit keine Setups! Oder nur gaaaanz wenige!"

    Doch ich seh da einfach dann ein Problem.
    Programme ohne Setup machen das sogar noch weniger. Schau dir nur mal eine vom Wizzard erstellte MFC-MDI oder MFC-SDI Anwendung an.
    Dort findest du ein RegisterShellFileTypes in der InitInstance von CWinApp. Anderst gesagt dein Programm wird automatisch in der Registry registriert. Und dieser Eintrag wird nie mehr rausgelöscht. (Wieder mal völlige MS-SCH*****).
    Und viele Programme erstellen Dinge auf dem Computer und lassen es dann einfach stehen. Während die Programme mit den Uninstaller meistens zwar auch Dreck hinterlassen, aber aus meiner Erfahrung war es bis jetzt immer viel viel viel weniger.

    Ein Uninstaller sollte ja auch da sein, alles wieder wegzubekommen. Deshalb gibt es einem auch eine gewisse Sicherheit, dass vieles gelöscht wurde. Bei einem Programm nur per Zip ohne Installer oder Uninstaller, hat man gar keine Ahnung was das Programm eigentlich überhaupt macht. Klar die Sicherheit des Uninstallers ist nur eine Pseudosicherheit. Aber besser als gar keine 😉

    Deshalb bin ich viel eher dafür, dass man saubere Setups und sauber Programme entwickelt. Beides muss sauber gelöst sein. So darf man mit einem Programm ruhig auch in die Registry greifen und anderes, es muss halt nur sauber gelöscht werden. Aber der Anwender fühlt sich meistens sicherer mit einem Setup.

    Grüssli



  • dateileichen, irgendwelche settings in 'dokumente_und_einstellungen'

    Das sind ja genau keine Dateileichen. Das ist der offizielle Platz für Konfigurationsdateien, nicht das Verzeichnis, in dem das Programm ausgeführt wird. Dort, meistens unter < Benutzername >\Anwendungsdaten oder vergleichbares herrscht eine saubere Trennung zwischen den verschiedenen Benutzern, ohne dass man Far Cry für 5 User 5mal à 3 GB installieren müsste (natürlich macht Far Cry es nicht so, stattdessen hat jeder Zugriff auf die Spieler-Profile anderer 🕶 👍 ).

    Wenn ein Uninstaller nicht anbietet das Zeug dort wieder zu entfernen, ist das natürlich schade, aber kein Fehler von dem Konzept. Und bei den meisten Programmen geht es nicht über ein paar KB hinaus. Oft ist es sogar nicht unerwünscht, dass Einstellungen erhalten bleiben. Trotzdem hat jeder User dort das Recht, jederzeit seine Einstellungen zurückzusetzen, indem er das Verzeichnis löscht.

    da haben wir uns missverstanden, sorry, mein fehler. ich meinte mit neuer username == anderer user. selbstverständlich kann man den namen und/oder das passwort ändern. windosen unterscheiden user anhand einer datenstruktur genannt 'sid'. die darf sich ntürlich nicht ändern, damit der user als der selbe identifiziert werden kann. einverstanden?

    Vom Prinzip würde es dann gehen, aber so etwas gibt es eben schon fertig. Und man kann damit nicht im Programme-Verzeichnis arbeiten, was eine geteilte Office-Installation für alle User unmöglich macht.



  • Dravere schrieb:

    @Net etwas musst du mir noch erklären, damit ich vollständig verstehe wie du da deine Gedanken darüber formst:
    Also du bist wohl mit einem Installer/Deinstaller einverstanden, welcher wirklich vollständig deinstalliert? Eben nichts verändert bei installieren usw. usf. So dass du installierst, und einfach das Programm startest. Dabei aber immer noch alles andere verwenden kannst. Ohne irgendwelche Veränderungen oder Einschränkungen. Und wenn du deinstallierst, dass du wirklich überhaupt nirends noch irgendetwas vom Programm findest. Ob in der Registry oder in den Anwendungsdaten.

    ein installer/deinstaller ist für mich nur ein kompromiss. das non-plus-ultra ist das simple löschen des programmordners um alles, aber auch wirklich alles was dieses programm jemals gemacht hat, spurlos zu beseitigen.

    Dravere schrieb:

    Dein einziges Argument dagegen scheint mir folgendes zu sein:
    "Das machen aber in Wirklichkeit keine Setups! Oder nur gaaaanz wenige!"

    ja, leider ist es so. oft bleibt was übrig und die festplatte wird langsam aber stetig zugemüllt.

    Dravere schrieb:

    Dort findest du ein RegisterShellFileTypes in der InitInstance von CWinApp. Anderst gesagt dein Programm wird automatisch in der Registry registriert.

    ja, sowas ist wirklich schlimm, doch zum glück kann man solche 'features' aus dem generierten code rausschmeissen.

    Dravere schrieb:

    Deshalb bin ich viel eher dafür, dass man saubere Setups und sauber Programme entwickelt. Beides muss sauber gelöst sein. So darf man mit einem Programm ruhig auch in die Registry greifen und anderes, es muss halt nur sauber gelöscht werden.

    das schon ok, aber die realität sieht leider oft anders aus. ich weiss nicht warum. ob die entwickler solcher setups einfach nur schlampig arbeiten oder ob windows selber zuviele fallstricke diesbezüglich hat?

    Dravere schrieb:

    Aber der Anwender fühlt sich meistens sicherer mit einem Setup.

    kann schon sein. ich denke auch dass der psychologische aspekt von setups eine grössere rolle spielt als ein sauberes system.

    Optimizer schrieb:

    dateileichen, irgendwelche settings in 'dokumente_und_einstellungen'

    Das sind ja genau keine Dateileichen. Das ist der offizielle Platz für Konfigurationsdateien...

    das sehe ich anders, aber das wisst ihr ja bereits 😉

    Optimizer schrieb:

    Dort, meistens unter < Benutzername >\Anwendungsdaten oder vergleichbares herrscht eine saubere Trennung zwischen den verschiedenen Benutzern, ohne dass man Far Cry für 5 User 5mal à 3 GB installieren müsste (natürlich macht Far Cry es nicht so, stattdessen hat jeder Zugriff auf die Spieler-Profile anderer 🕶 👍 ).

    das kann man auch mit unterordnern relativ zum programmpfad erreichen, deren name den namen, äääh sorry, die SID des users beinhalten. selbstverständlich kann die anwendung auch die rechteverwaltung der benutzerspezifischen verzeichnisse übernehmen (wenn man das braucht). um es nochmals zu betonen: meine methode schliesst nicht aus, dass mehrere user ein programm benutzen wobei jeder seine privaten settings hat. es müssen nicht mehrere kopien der ausführbahren datei da sein (können aber!)

    Optimizer schrieb:

    Wenn ein Uninstaller nicht anbietet das Zeug dort wieder zu entfernen, ist das natürlich schade, aber kein Fehler von dem Konzept. Und bei den meisten Programmen geht es nicht über ein paar KB hinaus.

    es muss aber irgendwo ein konzeptualer fehler sein, denn sonst würden nicht sämtliche windows-rechner im laufe der zeit zur digitalen müllhalde. diese paar kb summieren sich mit jeder weiteren installation zu ein paar 100kb, zu ein paar mb usw...



  • Hi

    net schrieb:

    Optimizer schrieb:

    Dort, meistens unter < Benutzername >\Anwendungsdaten oder vergleichbares herrscht eine saubere Trennung zwischen den verschiedenen Benutzern, ohne dass man Far Cry für 5 User 5mal à 3 GB installieren müsste (natürlich macht Far Cry es nicht so, stattdessen hat jeder Zugriff auf die Spieler-Profile anderer 🕶 👍 ).

    das kann man auch mit unterordnern relativ zum programmpfad erreichen, deren name den namen, äääh sorry, die SID des users beinhalten. selbstverständlich kann die anwendung auch die rechteverwaltung der benutzerspezifischen verzeichnisse übernehmen (wenn man das braucht). um es nochmals zu betonen: meine methode schliesst nicht aus, dass mehrere user ein programm benutzen wobei jeder seine privaten settings hat. es müssen nicht mehrere kopien der ausführbahren datei da sein (können aber!)

    Und wie soll ein Programm, einen Unterordner anlegen, in dem er eigentlich nur ausführungsrechte hat? Wenn nun ein admin eines deiner Programme auf einer Windose für alle nutzer installieren will, muss er dein verzeichniss irgendwohin spielen, wo es alle finden könne. nächster schritt, er muss dafür sorgen, das alle benutzer ausführungsrechte und/oder lese recht auf die entsprechenden verzeichnisse und unterverzeichnisse haben. und in dem verzeichniss, in dem die setup fiels liegen muss dann noch das schreibrecht freigegeben werden. Das muss dan auch noch so geschehen, das sich diese rechte nicht automatisch auf die darin enthaltenen dateien weiterverben. (andere nutzer könnten dann die dateien böswilliger weise löschen/einsehen/manipulieren) Und das soll einfach sein? vorallem wünsch ich viel spass unter xp Home. da darst du das dann alles von der console aus machen, wenn das überhaupt geht.

    gruss



  • net schrieb:

    es muss aber irgendwo ein konzeptualer fehler sein, denn sonst würden nicht sämtliche windows-rechner im laufe der zeit zur digitalen müllhalde. diese paar kb summieren sich mit jeder weiteren installation zu ein paar 100kb, zu ein paar mb usw...

    Dann lösch die Daten halt. Sie sind ja nicht umsonst für jeden Benutzer erreichbar.

    Glaube einfach mal, dass sich Leute in der Vergangenheit darüber Gedanken gemacht haben, wo man welche Dateien am besten hinräumt. Das hat mit persönlicher Meinung auch gar nichts zu tun. Es gibt Programmdaten, die brauchen gar nicht mehrmals auf dem Rechner vorhanden sein. Es gibt User-Daten die müssen für jeden User vorhanden sein (und auch über das Netzwerk erreichbar). Es gibt Daten, die müssen für jeden physischen Rechner vorhanden sein. Und für alles gibt es einen Platz. Was du vorschlägst ist nichts anderes als seit Jahren eingebürgerte schlechte Praxis aus DOS/Win9x - Zeiten, die selbst Microsoft schon lange nicht mehr anwendet, und sogar das neue Winamp nicht. Die meiste Opensource-Software (auch für Windows) ohnehin nicht, Office-Pakete nicht, nur die Spieleentwickler hinken noch ein Jahrzehnt hinterher.

    Kann man denn nicht einfach einsehen, dass es in jedem Betriebssystem einen vorgesehenen Platz für
    - binaries
    - user-Daten
    - Daten für den lokalen Rechner
    - home
    gibt und dass der gefälligst zu nutzen ist??

    um es nochmals zu betonen: meine methode schliesst nicht aus, dass mehrere user ein programm benutzen wobei jeder seine privaten settings hat. es müssen nicht mehrere kopien der ausführbahren datei da sein (können aber!)

    Doch, dein System schließt nicht-Admin User genau von sowas aus! Und es sollte der absolute Normalfall sein (und ist es nur bei Windows noch nicht), dass man normalerweise nicht Admin ist.



  • Irgendwie beschleicht mich das Gefühl, dass Net unter nem *NIX ziemlich unglücklich werden würde 🤡



  • Optimizer schrieb:

    um es nochmals zu betonen: meine methode schliesst nicht aus, dass mehrere user ein programm benutzen wobei jeder seine privaten settings hat. es müssen nicht mehrere kopien der ausführbahren datei da sein (können aber!)

    Doch, dein System schließt nicht-Admin User genau von sowas aus! Und es sollte der absolute Normalfall sein (und ist es nur bei Windows noch nicht), dass man normalerweise nicht Admin ist.

    gar nicht wahr. alle user können ausführungsrechte auf den programmordner haben, alle rechte in ihrem userordner und keine zugriffsrechte auf die ordner anderer user. das geht genau so wie bisher, nur mit dem kleinen, aber bedeutsamen unterschied, dass sich alle ordner innerhalb eines 'hauptordners' befinden und nicht irgendwo (d.h. nach willkürlichen richtlinien des betriebssystemherstellers) auf der festplatte verteilt sind.

    Any schrieb:

    Irgendwie beschleicht mich das Gefühl, dass Net unter nem *NIX ziemlich unglücklich werden würde 🤡

    da hast du recht, aber das hat andere gründe 😉



  • net schrieb:

    Optimizer schrieb:

    um es nochmals zu betonen: meine methode schliesst nicht aus, dass mehrere user ein programm benutzen wobei jeder seine privaten settings hat. es müssen nicht mehrere kopien der ausführbahren datei da sein (können aber!)

    Doch, dein System schließt nicht-Admin User genau von sowas aus! Und es sollte der absolute Normalfall sein (und ist es nur bei Windows noch nicht), dass man normalerweise nicht Admin ist.

    gar nicht wahr. alle user können ausführungsrechte auf den programmordner haben, alle rechte in ihrem userordner und keine zugriffsrechte auf die ordner anderer user. das geht genau so wie bisher, nur mit dem kleinen, aber bedeutsamen unterschied, dass sich alle ordner innerhalb eines 'hauptordners' befinden und nicht irgendwo (d.h. nach willkürlichen richtlinien des betriebssystemherstellers) auf der festplatte verteilt sind.

    bestreitet ja niemand das man das so einstellen kann, nur mit welchen aufwand? schon mal sowas auf einem xp home gemacht?
    Bei xp ist das glaube ich so gelöst. alle benutzer haben auf alle unterverzeichnisse des Programmverzeichnisses Ausfürungs und Lese - rechte ( die rechte sind vererbt. auser die vererbungshirarchie wurde expliziet für bestimmte verzeichnisse unterbrochen) Schreibrechte auf Programmverzeichnisse hat nur der Nutzer der sie erzeugt hat, oder der Benutzer, der mehr rechte hat (z.B. Administrator) bzw vom benutzer oder admin autorisiert wurde auch zugriff darauf zu haben. Für dein setup verzeichniss muss du diese rechte jetzt um zusätzliche erweitern, bzw entsprechend verändern. Alle benutzer dürfen in diesem verzeichniss dateien oder verzeichnisse anlegen. Die allgemeingültigen lese und ausfürungsrechte für alle nutzer muss hingegen für die darinenthaltenen datein aufgelöst werden, sonst kann jeder jedemseine dateie/ verzeichnisse naschauen und lesen.

    und noch ein kleines gemeines problem. ein user installiert das Programm. setzt die notwendigen rechte selber. soweit so gut. nun benutzen auch andere leute das prog. soweit auch gut. nun will derjenige das programm wieder deinstallieren. und der wird eine böse überraschung erleben. es gibt plötzlich dateien, die er garnicht löschen kann, da sie ihm garnicht gehören. und jetzt rat mal welche dateien das sind? die dateien die im setup verzeichniss rumleigen.

    es ist doch sinvoller diese datein um user verzeichniss zu speichern, dann haben auch andere user noch die möglichkeit ihr setup zu sichern, bzw das programm wieder zu installieren, weil sie es so toll fanden. ohne ihre einstellungen noch einmal machen zu müssen.

    ich möcht dich mal erleben wenn du z.B. ein prog auf nem schul oder unirechner verwendest, deine einstellungen gemacht hast, und der admin meint, er müsse das programm durch eine neue version ersetzen, und deine ganzen einstellungen sind futsch.

    gruss



  • net schrieb:

    ein installer/deinstaller ist für mich nur ein kompromiss. das non-plus-ultra ist das simple löschen des programmordners um alles, aber auch wirklich alles was dieses programm jemals gemacht hat, spurlos zu beseitigen.

    Ich finde, die Daten sollten ab einem gewissen Block auf der Festplatte kontinuierlich vorliegen, sodaß ich einfach ab diesem Block eine bestimmte Anzahl Blöcke löschen kann und das Programm ist restlos entfernt. Das wäre doch mal sauber!

    Das ist doch alles nur eine Frage der Abstraktion. Du tust ja grad so, als sei das aktuelle Dateisystem die einzig zulässige und wahre Ebene.



  • Termite schrieb:

    und noch ein kleines gemeines problem. ein user installiert das Programm. setzt die notwendigen rechte selber. soweit so gut. nun benutzen auch andere leute das prog. soweit auch gut. nun will derjenige das programm wieder deinstallieren. und der wird eine böse überraschung erleben. es gibt plötzlich dateien, die er garnicht löschen kann, da sie ihm garnicht gehören. und jetzt rat mal welche dateien das sind? die dateien die im setup verzeichniss rumliegen.

    es gibt da verschiedene möglichkeiten, der phantasie sind keine grenzen gesetzt. ein user der seine software selber auf den rechner kopiert, sollte z.b. immer alle rechte haben. er ist der superuser für dieses programm. kopiert ein admin die software für die benutzung durch mehrere user auf die festplatte, dann kann auch nur er sie wieder löschen, während die user nur volle rechte in ihren unterverzeichnissen haben.

    Termite schrieb:

    ich möcht dich mal erleben wenn du z.B. ein prog auf nem schul oder unirechner verwendest, deine einstellungen gemacht hast, und der admin meint, er müsse das programm durch eine neue version ersetzen, und deine ganzen einstellungen sind futsch.

    der admin würde die neue version auf den rechner kopieren ohne die alte zu löschen. eventuell kopiert er auch die settings der user zur neuen version rüber. dann teilt er den usern mit: "hier habt ihr die neue version, spielt damit rum, wem's nicht gefällt, der kann ja weiterhin die alte nutzen." das finde ich viel benutzerfreundlicher als alle zu zwingen die neue version zu benutzen. die alte version hat nur ausgedient, wenn keiner die mehr nutzt.

    Jester schrieb:

    net schrieb:

    ein installer/deinstaller ist für mich nur ein kompromiss. das non-plus-ultra ist das simple löschen des programmordners um alles, aber auch wirklich alles was dieses programm jemals gemacht hat, spurlos zu beseitigen.

    Das ist doch alles nur eine Frage der Abstraktion. Du tust ja grad so, als sei das aktuelle Dateisystem die einzig zulässige und wahre Ebene.

    das hast du gut erkannt. man könnte z.b. 'verbunddateien' nehmen, also alles pro anwendung in einem zipfile haben, aber so weit will ich auch nicht gehen. 😃
    so ein hierarchisches filesystem lässt sich mit jedem schäbigen dateimanager einfach in den griff kriegen. man bekommt anhand der baumstruktur einen schnellen überblick usw. warum sollte man es wieder flach machen oder ihm eine andere struktur überstülpen? zumal die tools (installer/deinstaller) und irgendwelche richtlinien 'wo-was-stehen-muss' entweder nicht richtig funktionieren oder falsch angewendet werden.



  • net schrieb:

    warum sollte man es wieder flach machen oder ihm eine andere struktur überstülpen?

    Wir wollen es nicht flach machen. wir wollen es auf ein Mehr-Benutzer-System zuschneiden. Warum wir dem was drüberstülpen wollen ist auch klar, weil wir von den Blocks zum Dateisystem was gewinnen konnten und jetzt noch was gewinnen wollen. Das Dateisystem kann in dieser Art wie es ist für ein Mehrbenutzersystem nicht das gewünschte Leisten.

    Was tust Du eigentlich, wenn ein Benutzer gelöscht wird? Muß ich dann alle Programme durchgehen und dort die Ordner mit seinen Konfigurationen entfernen? Oder bleiben die dann als Dateileichen liegen? Wenn ja, wieso sind die nicht so schlimm?



  • Jester schrieb:

    Was tust Du eigentlich, wenn ein Benutzer gelöscht wird? Muß ich dann alle Programme durchgehen und dort die Ordner mit seinen Konfigurationen entfernen? Oder bleiben die dann als Dateileichen liegen? Wenn ja, wieso sind die nicht so schlimm?

    meine methode ist kein allheilmittel gegen jede art von datenmüll sondern nur ein ansatz, diesen so gering wie möglich zu halten. ich glaube auch nicht, dass windows alle spuren eine users verschwinden lässt, wenn man seinen account löscht. dazu müsste es schon sämtliche aktionen mitloggen aber so ein aufwand ist natürlich etwas übertrieben...



  • net schrieb:

    Jester schrieb:

    Was tust Du eigentlich, wenn ein Benutzer gelöscht wird? Muß ich dann alle Programme durchgehen und dort die Ordner mit seinen Konfigurationen entfernen? Oder bleiben die dann als Dateileichen liegen? Wenn ja, wieso sind die nicht so schlimm?

    meine methode ist kein allheilmittel gegen jede art von datenmüll sondern nur ein ansatz, diesen so gering wie möglich zu halten. ich glaube auch nicht, dass windows alle spuren eine users verschwinden lässt, wenn man seinen account löscht. dazu müsste es schon sämtliche aktionen mitloggen aber so ein aufwand ist natürlich etwas übertrieben...

    da ist aber die Windows Methode weitaus efektiver. Es löscht einfach den /Dokumente und Einstellungen/%User%/ Ordner und ferdig ist.
    Ist doch nicht die Schuld von dem Betriebssystem wenn irgendein Depp-Programm seine Einstellungen nicht in diesem Ordner gespeichert hat.
    Eigentlich sollten nicht-Admin-User überhaupt nur in diesem User-Verzeichniss Schreibrechte haben und sonst nirgendwo.
    Bei uns in dem Uni-Netztwerk ist das so eingerichtet. Du kannst zwar auf C: usw. schreiben, aber beim nächsten einloggen wird alles zurückgesetzt. Die Festplatte ist somit gesperrt. Als User kannst du nur unter einem Netztwerk-Laufwerk Z: Daten speichern.
    Somit würde dein System dort überhaupt nicht funktionieren, alle Einstellungen würden wieder rückgängig gemacht werden.


Anmelden zum Antworten