Wie funktioniert ein Installer / Installationsprogramm



  • install_me schrieb:

    Danke, alles was ich wissen wollte. Top, so mach ich das auch, gibt dem ganzen nen "Professionellen Touch" 😃

    Du meinst hoffentlich, daß du eines der genannten Installer-Tools verwendest und nicht, daß du dir selbst eines schreibst. Sonst ist da nämlich nix mit professionellem Touch.



  • Nö, ich entwickle selbst eines, was wäre da schon dabei 😃 😃

    Nein, ich nehme natürlich eines der genannten Tools her !!



  • Oder, noch besser, du laesst einfach die Finger von Installern und machst es weiterhin so wie alle Programme es machen sollten, aka verbreitest einfach deine .exe. Installer nerven nur.



  • Portable Versionen sind cool, aber ich finde es gut wenn zusätzlich auch ein Installer angeboten wird. Viele Leute wollen halt die Start-Menu/Start-Screen Einträge haben, evtl. File-Associations etc. Wenn man sich die nicht selbst einrichten will, dann ist ein Installer schon fein.



  • Fuer sowas gibt es .bat-Scripte, reicht zum anlegen von ein paar Verknuepfungen und Registry-Eintraegen, und man kann zur Not genau nachschauen was da passiert. Ich wuerde sagen ca. 95% der Programme die ich nutze waehren besser ohne Installer. Das einzige wozu Installer gut sind ist um Leuten im Hintergrund Toolbars und andere Crapware zu installieren.



  • cooky451 schrieb:

    Fuer sowas gibt es .bat-Scripte, reicht zum anlegen von ein paar Verknuepfungen und Registry-Eintraegen, und man kann zur Not genau nachschauen was da passiert. Ich wuerde sagen ca. 95% der Programme die ich nutze waehren besser ohne Installer. Das einzige wozu Installer gut sind ist um Leuten im Hintergrund Toolbars und andere Crapware zu installieren.

    this so much 👍



  • cooky451 schrieb:

    Fuer sowas gibt es .bat-Scripte, reicht zum anlegen von ein paar Verknuepfungen und Registry-Eintraegen

    Ach. Wie machst du denn einen Shell-Shortcut in einer Batchdatei? Und woher bekommst du den Pfad fürs Startmenu?

    Abgesehen davon gehört ausführbare Software nach C:\Progam Files , weil die Trennung von Code (keine Schreibrechte für normale Benutzer) und Daten (Benutzerschreibrechte) immer sinnvoll ist, und weil sonst SRP und dergleichen nicht richtig funktionieren kann.

    cooky451 schrieb:

    und man kann zur Not genau nachschauen was da passiert.

    Bei der install-shortcuts-for-contoso.bat willst du genau wissen, was sie macht, aber die beiliegende Binärdatei contoso.exe nimmst du so? WTF.

    cooky451 schrieb:

    Ich wuerde sagen ca. 95% der Programme die ich nutze waehren besser ohne Installer.

    Seh ich genau andersrum. Ich find es gut, wenn es die Anwendungen auch portabel gibt, aber ein gut gemachter Installer vereinfacht mir die Arbeit.



  • audacia schrieb:

    Ach. Wie machst du denn einen Shell-Shortcut in einer Batchdatei?

    Mit Registry-Eintraegen...

    audacia schrieb:

    Und woher bekommst du den Pfad fürs Startmenu?

    Ueber Umgebungsvariablen oder die Registry, da gibt's mehrere Moeglichkeiten.

    audacia schrieb:

    Abgesehen davon gehört ausführbare Software nach C:\Progam Files , weil die Trennung von Code (keine Schreibrechte für normale Benutzer) und Daten (Benutzerschreibrechte) immer sinnvoll ist, und weil sonst SRP und dergleichen nicht richtig funktionieren kann.

    Ich weiss zwar nicht was du mit SRP meinst, aber sinnvoll ist die Trennung leider nur sehr begrenzt. Sinnvoller waere es, wenn Programme nur auf ihre Ordner/Unterordner und auf speziell vom System zur Verfuegung gestellte Orte zugreifen duerften. Aber es hindert einen ja niemand daran, seine Programme nach C:/ zu verschieben wenn man das so toll findet.

    audacia schrieb:

    Bei der install-shortcuts-for-contoso.bat willst du genau wissen, was sie macht, aber die beiliegende Binärdatei contoso.exe nimmst du so? WTF.

    Ganz genau, der .exe muss ich naemlich keine Administrationsrechte geben damit sie in's tolle C:\Progam Files schreiben darf. 🙄



  • cooky451 schrieb:

    audacia schrieb:

    Ach. Wie machst du denn einen Shell-Shortcut in einer Batchdatei?

    Mit Registry-Eintraegen...

    Weißt du, was Shell-Shortcuts sind? Was haben die mit Registryeinträgen zu tun? Aber du kannst gerne mal zeigen, wie du welche über die Kommandozeile anlegst.

    cooky451 schrieb:

    Ueber Umgebungsvariablen oder die Registry, da gibt's mehrere Moeglichkeiten.

    In CMD.EXE sind diese Möglichkeiten, soweit sie überhaupt existieren, alle obskure Hacks. Die Registry-Keys, auf die du anspielst, sind übrigens ausdrücklich nicht der dokumentierte Weg, um an diese Pfade zu kommen.

    All diese Probleme und noch viele andere wurden bereits gelöst von den Leuten, die InnoSetup, NSIS oder WiX geschrieben haben.

    cooky451 schrieb:

    audacia schrieb:

    Abgesehen davon gehört ausführbare Software nach C:\Progam Files , weil die Trennung von Code (keine Schreibrechte für normale Benutzer) und Daten (Benutzerschreibrechte) immer sinnvoll ist, und weil sonst SRP und dergleichen nicht richtig funktionieren kann.

    Ich weiss zwar nicht was du mit SRP meinst

    Kennst du Google? Mal "windows srp" eingegeben?

    cooky451 schrieb:

    aber sinnvoll ist die Trennung leider nur sehr begrenzt.

    Grundvorteil: wenn nur der Administrator Schreibrechte auf .exe-Dateien und auf die beinhaltenden Verzeichnisse hat, funktionieren DLL-Injection-Exploits nicht, und das Manipulieren von Programmen, die ggf. später mal mit erhöhten Rechten ausgeführt werden, ist auch nicht möglich. Mit SRP kann ich als Admin verhindern, daß der Benutzer Programme, die nicht in C:\Program Files liegen, überhaupt ausführen darf; das ist ein außerordentlich effektiver Schutz vor fast allen Exploits, die auf die Dummheit des Benutzers setzen (was praktisch alle handelsüblichen Viren tun).

    cooky451 schrieb:

    Sinnvoller waere es, wenn Programme nur auf ihre Ordner/Unterordner und auf speziell vom System zur Verfuegung gestellte Orte zugreifen duerften.

    Ja, z.B. die Apps in Windows 8. Die gibts übrigens auch nicht als portable Anwendungen. Willst du raten, warum?

    cooky451 schrieb:

    Aber es hindert einen ja niemand daran, seine Programme nach C:/ zu verschieben wenn man das so toll findet.

    Das hat nichts mit "so toll finden" zu tun. Wenn ich eine portable Anwendung nach C:\Program Files verpflanzen will, muß ich mir Sorgen machen, daß sie in die INI-Datei im gleichen Verzeichnis zu schreiben versucht, und wenn ich ein eingeschränktes Benutzerkonto verwende (was stark anzuraten ist), muß ich im Explorer mehrfach das Adminpaßwort eingeben (üblicherweise 2x: Ordner erstellen, Dateien reinkopieren; wenn ich die Shell-Shortcuts im Startmenu für alle Benutzer haben will, dann ein weiteres Mal).

    Was wirklich vonnöten wäre, wäre ein gescheiter, einheitlicher Paketmanager für Windows. Oder Desktop-Anwendungen im Store, wenn der hinreichend automatisierbar ist. Aber einstweilen sind Installer die beste Lösung.



  • audacia schrieb:

    cooky451 schrieb:

    audacia schrieb:

    Ach. Wie machst du denn einen Shell-Shortcut in einer Batchdatei?

    Mit Registry-Eintraegen...

    Weißt du, was Shell-Shortcuts sind? Was haben die mit Registryeinträgen zu tun? Aber du kannst gerne mal zeigen, wie du welche über die Kommandozeile anlegst.

    Sowas?

    reg add "HKCR\Directory\Background\shell\runas" /ve /t REG_SZ /d "Open command window here (administrator)" /f
    

    Oder sowas?

    reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Hash.SHA256" /t REG_SZ /d "SHA-256" /f
    reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Hash.SHA256\command" /t REG_SZ /d "%mypath% \"%%1\" sha256" /f
    

    audacia schrieb:

    All diese Probleme und noch viele andere wurden bereits gelöst von den Leuten, die InnoSetup, NSIS oder WiX geschrieben haben.

    Welche Probleme? Ich sehe nur einen guten Weg Installer zu realisieren (aka Packages die Windows parsen kann), einen akzeptablen Weg Installer zu realisieren (Script-Files) und einen schrecklichen Weg Installer zu realisieren (executables).

    audacia schrieb:

    cooky451 schrieb:

    aber sinnvoll ist die Trennung leider nur sehr begrenzt.

    Grundvorteil:

    Grundnachteil: Ich muss Installern Admin-Rechte geben. Mit dem von mir vorgeschlagenen Konzept waere das alles kein Problem.

    audacia schrieb:

    Ja, z.B. die Apps in Windows 8. Die gibts übrigens auch nicht als portable Anwendungen. Willst du raten, warum?

    Weil Microsoft verzweifelt versucht Apps fuer ihre Smartphones zu bekommen und sie deshalb Desktop-Apps wie Smartphone-Apps gestalten wollen?

    audacia schrieb:

    Das hat nichts mit "so toll finden" zu tun. Wenn ich eine portable Anwendung nach C:\Program Files verpflanzen will, muß ich mir Sorgen machen, daß sie in die INI-Datei im gleichen Verzeichnis zu schreiben versucht

    Das hat man halt davon, wenn man versucht ein komplett kaputtes Rechte-System irgendwie weiter zu benutzen.

    audacia schrieb:

    Aber einstweilen sind Installer die beste schlimmste Lösung.

    FTFY



  • Ich glaube, ich laß das besser. Du hast leider keine Ahnung von dem, was du schreibst. Und wie es oft ist, je weniger Ahnung, desto lauter das Gebrüll.

    Mit "Shell-Shortcuts" meine ich übrigens die Verknüpfungen, wie sie im Startmenu zu finden sind. LNK-Dateien. Shell-Links wäre lt. MSDN der korrekte Name gewesen. Google hätte sie trotzdem gefunden.



  • audacia schrieb:

    Ich glaube, ich laß das besser. Du hast leider keine Ahnung von dem, was du schreibst. Und wie es oft ist, je weniger Ahnung, desto lauter das Gebrüll.

    Sobald man keine Argumente mehr hat, kommt halt die "Du hast keine Ahnung"-Peitsche. Autsch.

    audacia schrieb:

    Mit "Shell-Shortcuts" meine ich übrigens die Verknüpfungen, wie sie im Startmenu zu finden sind. LNK-Dateien. Shell-Links wäre lt. MSDN der korrekte Name gewesen. Google hätte sie trotzdem gefunden.

    Hellsehen kann ich jetzt nicht. Erstellen kann man die aber natuerlich trotzdem mit einem Script.



  • cooky451 schrieb:

    Sobald man keine Argumente mehr hat, kommt halt die "Du hast keine Ahnung"-Peitsche. Autsch.

    Das mit den Argumenten möge nun jeder Leser selbst bewerten 🙂



  • @cooky451
    Sorry, aber jeden Installer mit nem Batchfile ersetzen zu wollen ist einfach eine dumme Idee. Dass du da auf Gegenwind stösst ist dann nicht weiter verwunderlich.

    Und warum ist es eine dumme Idee?
    z.B. weil zu einem Installer auch ein Uninstaller gehört. Oder willst du die Uninstaller Einträge auch über ein Batchfile machen, und den Uninstaller ebenfalls als Batchfile implementieren?

    Aber nicht nur das.
    Auch weil meine Mama sich garantiert ÜBERHAUPT nicht mehr auskennt wenn sie 'was runterlädt was sie a) erstmal entpacken muss und wo sie dann b) ein Batchfile zum Installieren starten muss.

    Und was soll das Installieren von Crapware mit .exe/.msi/... Installern zu tun haben? Antwort: genau nix. Ein Batchfile könnte genau so gut Crapware runterladen. Oder man packt es in das Programm selbst rein, dass beim 1. Start die Crapware runtergeladen und installiert wird.

    Und was du total ignorierst: ich hab nicht vorgeschlagen dass der Installer die einzige Art sein soll das Programm zu installieren. Du darfst gerne die portable Variante verwenden und deine Paranoia ausleben indem du selbst deine Startmenü Einträge erstellst.



  • cooky451 schrieb:

    Sobald man keine Argumente mehr hat, kommt halt die "Du hast keine Ahnung"-Peitsche.

    Ist aber keine notwendige Bedingung.



  • hustbaer schrieb:

    Sorry, aber jeden Installer mit nem Batchfile ersetzen zu wollen ist einfach eine dumme Idee. Dass du da auf Gegenwind stösst ist dann nicht weiter verwunderlich.

    Will ich auch nicht, ich will gar keine Installer und dafuer Script-Files die man Optional ausfuehren kann um Dinge wie Links, Dateizugehoerigkeiten etc. zu setzen. Das koennte wenn's sein muss sogar eine .exe sein, solange das Programm selbst auch funktioniert bevor man es "installiert". Scripte sind halt schoener weil man sich da bei unbekannten/verdaechtigen Programmen vorher noch mal angucken kann, was die so machen.

    hustbaer schrieb:

    Oder willst du die Uninstaller Einträge auch über ein Batchfile machen, und den Uninstaller ebenfalls als Batchfile implementieren?

    Ja, wobei Uninstaller nicht mal das Programm loeschen sollten, sondern einfach nur die Eintraege rueckgaengig machen.

    hustbaer schrieb:

    Auch weil meine Mama sich garantiert ÜBERHAUPT nicht mehr auskennt wenn sie 'was runterlädt was sie a) erstmal entpacken muss und wo sie dann b) ein Batchfile zum Installieren starten muss.

    Wie man ein Programm aus einem Archiv in einen anderen Ordner zieht kann man Leuten schon noch erklaeren, dabei koennen sie zumindest nicht vergessen Haken weg zu machen. Und wenn ich so darueber nachdenke, dann habe ich allen so weit technisch unversierten Leuten in meinem Umkreis eigentlich eh alles installiert was sie brauchen, Installer hin oder her. Wenn die das selbst gemacht gemacht haetten haetten deren Browser vermutlich 20+ Toolbars, 5+ Werbe-Hijacker etc.

    hustbaer schrieb:

    Und was soll das Installieren von Crapware mit .exe/.msi/... Installern zu tun haben? Antwort: genau nix. Ein Batchfile könnte genau so gut Crapware runterladen.

    Nun, man kann aber das Programm jetzt schon mal ausfuehren/testen bevor man irgendwelche Installer startet. Das bringt schon mal viel, insbesondere wenn man Programme nur ausprobieren will. Weiterhin muessen die meisten Programme nicht mal was am System aendern, da kann man sich den Spass dann ganz sparen. Und falls man doch unbedingt etwas installieren will, kann man sich falls der Installer ein Script ist dann zumindest genau angucken was es macht.

    hustbaer schrieb:

    Oder man packt es in das Programm selbst rein, dass beim 1. Start die Crapware runtergeladen und installiert wird.

    Nun ja, man muss ja davon ausgehen dass zumindest danach gefragt wird - sonst waeren wir bei "echter" Malware und das ist ein anderes Thema. Aber man koennte wohl ein kleines Popup-Fenster einbauen und darauf hoffen dass die meisten Leute dann einfach "ok" klicken. Aber: Hier hat das Programm dann zumindest keine Admin-Rechte. Es ist also schon deutlich schwerer fuer die Crapware sich tief in's System zu fressen. Und wenn Windows die Zugriffsrechte mal etwas sinnvoller verteilen wuerde, waere es sogar unmoeglich ohne Exploits. (Wo wir dann wieder bei Malware waeren.)

    hustbaer schrieb:

    Und was du total ignorierst: ich hab nicht vorgeschlagen dass der Installer die einzige Art sein soll das Programm zu installieren.

    Ja gut, natuerlich ignoriere ich das bei der Frage welches Verfahren besser ist; dass man auch einfach beide Varianten anbieten kann eignet sich nicht wirklich als Diskussionspunkt.



  • Aber man koennte wohl ein kleines Popup-Fenster einbauen und darauf hoffen dass die meisten Leute dann einfach "ok" klicken. Aber: Hier hat das Programm dann zumindest keine Admin-Rechte.

    Dann kommt ein kleines Popup-Fenster und fragt nach deinem Passwort. Man könnte hoffen dass die meisten User dann einfach der Anweisung folgen.



  • Arcoth schrieb:

    Wie kommst du auf die Idee dass man Übel nicht auch ohne Installer verbreiten kann?

    Verstehst du ueberhaupt worum es da geht und was Crapware ist?

    Arcoth schrieb:

    Dann kommt ein kleines Popup-Fenster und fragt nach deinem Passwort. Man könnte hoffen dass die meisten User dann einfach der Anweisung folgen.

    Hae? 😕 Sorry ich hab echt nicht den blassendsten Schimmer was du damit sagen willst.



  • @cooky451
    Also ein Package-Management System wäre natürlich top.

    In Ermangelung dessen fände ich gut wenn alles als .msi Paket daherkommt.
    Und wenn der/die/das Softwarehersteller auch das nicht gebacken bekommt, dann bitte einen Installer der ohne Adminrechte auskommt*. Als .exe .
    Und nur wenn Adminrechte wirklich nötig sind (z.B. weil Hilfstreiber installiert werden müssen o.Ä.), dann halt nen .msi Paket/ .exe Installer der Adminrechte braucht.

    Und natürlich alles brav mit einem von Windows "akzeptierten" Zertifikat signiert (=weisse "willst du wirklich" MessageBox).

    Ein Batchfile zum Installieren? Von mir aus im "portable" Paket. Aber sicher nicht als Ersatz für den Installer/das MSI Paket.

    cooky451 schrieb:

    Arcoth schrieb:

    Dann kommt ein kleines Popup-Fenster und fragt nach deinem Passwort. Man könnte hoffen dass die meisten User dann einfach der Anweisung folgen.

    Hae? 😕 Sorry ich hab echt nicht den blassendsten Schimmer was du damit sagen willst.

    Er will dir damit vermutlich sagen dass der typische "einfach mal OK klicken" User auch einfach mal so sein Passwort eingibt.
    Und dann läuft der Crapware-Installer erst wieder mit Adminrechten.

    *: Wobei optional natürlich auch die Installation für "all users" möglich sein sollte, die ja bekanntlich immer Adminrechte benötigt.

    ps:

    Ja, wobei Uninstaller nicht mal das Programm loeschen sollten, sondern einfach nur die Eintraege rueckgaengig machen.

    Nö, ein Uninstaller muss löschen. Das Programm soll danach komplett weg sein. Viel zu umständlich wenn man erst "uninstallen" und es dann nochmal per Hand löschen soll. Im "portable" Package von mir aus so wie du vorschlägst, aber ein "echter" Installer brauch auch einen "echten" Uninstaller.

    Wie man ein Programm aus einem Archiv in einen anderen Ordner zieht kann man Leuten schon noch erklaeren

    Aus Erfahrung würde ich sagen: nein, kannste denen nicht erklären. Die finden ja nichtmal ihre Files wieder die sie selbst irgendwo abgespeichert haben.



  • cooky451 schrieb:

    Arcoth schrieb:

    Dann kommt ein kleines Popup-Fenster und fragt nach deinem Passwort. Man könnte hoffen dass die meisten User dann einfach der Anweisung folgen.

    Hae? 😕 Sorry ich hab echt nicht den blassendsten Schimmer was du damit sagen willst.

    http://www.fixedbyvonnie.com/wp-content/uploads/2013/12/fixedbyvonnie-windows-8-1-command-prompt-admin-1.png
    Oder
    http://techgage.com/images/news/windows_7_install_issue_121509.jpg
    Ich bezog mich auf letzteres. Schließlich ist nicht jeder stets auf einem Adminkonto eingeloggt.

    Verstehst du ueberhaupt worum es da geht und was Crapware ist?

    Was ist "da"?


Anmelden zum Antworten