Warum machen Entwickler die Installation unter Windows nicht automatisch? [geschlossen]

35

Dies ist die Umkehrung zu " Warum machen Entwickler keine Installationsassistenten unter Linux? ", Was interessant ist, aber ich dachte "Automatische Installation ist der natürliche Weg. Warum verwenden sie Assistenten?".
Also hier ist die umgekehrte Frage:

Ich bin mir sicher, dass es nicht um Faulheit oder ähnliches geht, aber ich verstehe nicht, warum Entwickler, selbst wenn es sich hauptsächlich um Apps für Endverbraucher handelt, keine vollautomatische Installation durchführen, bei der Sie sich überhaupt nicht darum kümmern. Dieselben Apps werden normalerweise automatisch unter Linux installiert. Warum also nicht Windows und Mac OS?

Gibt es einen technischen Grund für diesen Trend, oder handelt es sich nur um eine Konvention?

Volker Siegel
quelle
6
MacOs ist auch automatisch (fast) - Sie ziehen normalerweise nur das Symbol in den Ordner "Programme". Ich vermute, in Windows funktioniert es nicht wegen einiger seltsamer Registry-Dinge
Lovis
3
"Falsch herumgefragt" ist wirklich eine Meinung. Ich denke nicht, dass es fair ist, die Antworten auf diese Frage mit dieser Umkehrung zu fragmentieren, weil Sie nicht mögen, wie es gestellt wurde (und ein bisschen pedantisch imo ). Jede Antwort, die hier endet, ist einfach die Umkehrung einer gültigen Antwort auf die andere. Ich bin der Meinung, dass die richtige Antwort, wenn Sie der Meinung sind, dass die Frage verkehrt herum ist, darin besteht, Ihre eigene Antwort hinzuzufügen , die erklärt, warum Sie so denken, und dann die Frage unter diesem Gesichtspunkt zu beantworten.
Selali Adobor
2
Der Windows 8 App Store ist ein Versuch, ein zentrales Software-Repository einzurichten, wie es bei den meisten Linux-Distributionen der Fall ist.
Philipp
10
Wenn sie es automatisch machen, wie können sie böswillige Werbung bündeln, ohne das Gericht zu umgehen?
Raestloz
3
Ich denke, die Prämisse dieser Frage ist falsch - viele Windows-Anwendungen können über eine optimierte Option "Standardeinstellungen verwenden" in einem Installationsprogramm installiert werden. Es ist einfach höflich, zusätzliche Optionen bereitzustellen, z. B. den Installationsort des Programms. Ich mag keine Programme, bei denen ich nicht entscheiden kann, wo sie auf einem Laufwerk installiert werden.
GroßmeisterB

Antworten:

49

Einverständniserklärung

Benutzer sollten zunächst entscheiden können, ob sie das Programm überhaupt auf ihrem Computer installieren möchten oder nicht. Es mag für Sie selbstverständlich erscheinen, dass sich die Leute offensichtlich für die Installation eines Programms entscheiden, aber das Hauptmerkmal eines Schadprogramms ist, dass es installiert werden kann, ohne dass der Computerbenutzer davon erfährt.

Die Einwilligung in Kenntnis der Sachlage wird durch die Benutzerkontensteuerung noch deutlicher .

Lizenzvereinbarung

Die modernste Software folgt bei der Lizenzierung einem "Click-through" -Modell. Das heißt, der Benutzer stimmt den Lizenzbedingungen während des Installationsvorgangs als Bedingung für die Installation des Programms zu. Dass Benutzer diese Vereinbarungen selten lesen, bedeutet nicht, dass sie nicht an sie gebunden sind, insbesondere, wenn sie das Kontrollkästchen "Ich stimme diesen Bedingungen zu" aktiviert haben.

Optionen konfigurieren

Viele Softwarepakete verfügen über Optionen, mit denen Sie die Installation der Software auf bestimmte Weise ändern können. Am einfachsten können Sie entscheiden, ob ein Symbol auf dem Desktop angezeigt werden soll oder nicht. In größeren Anwendungen können Sie jedoch entscheiden, welche Funktionen installiert werden sollen.

Installations fortschritt

Während Programme im Windows-Ökosystem während des Installationsprozesses (z. B. bei der registrierungsfreien Installation) immer weniger aufdringlich sind, ist die Installation häufig immer noch ein nicht trivialer Vorgang. Fortschrittsbalken und andere visuelle Hilfsmittel zeigen an, dass tatsächlich etwas passiert. Auf der letzten Seite des Assistenten erfahren Sie, ob die Installation erfolgreich war oder nicht.

Loslegen

Die besten Softwarepakete zeigen Ihnen, was als Nächstes zu tun ist. Was sind die ersten Schritte, wie fange ich an, wie bekomme ich Hilfe? Die meiste Software hinterlässt bei der Installation ein Startsymbol, und das war's. Überschätzen Sie niemals das Fachwissen Ihrer Benutzer. So unglaublich es Ihnen auch erscheinen mag, es gibt immer noch Leute, die nicht wissen, wie sie Softwareprogramme finden und starten sollen, die sie gerade installiert haben.

Robert Harvey
quelle
5
Die Illusion, dass der Installationsprozess schnell und schmerzlos war.
Rotem
6
Auf Kosten, dass die Software selbst nicht schnell und schmerzlos ist. Ein nerviger Installer ist leichter zu verzeihen als eine nervige Anwendung.
NWP
18
Jemanden zu bitten, nach der Installation den Bedingungen zuzustimmen, scheint mir eine problematische Vorgehensweise zu sein.
Eric King
6
Ihr erster Grund für "Informierte Zustimmung" ist ein Schwindel. Automatische Installation bedeutet keine automatische Installation, ohne dass der Benutzer überhaupt weiß, dass er sie installiert. Automatisierte Installation bedeutet, dass Sie das Installationsprogramm starten und den Rest von dort aus erledigen. Die bloße Tatsache, den Installer selbst zu starten, ist bereits Zustimmung, wenn der Benutzer herausfinden möchte, was ein Programm vor der Installation tut, dann hat er dies bereits lange von der Website herausgefunden, von der er den Installer heruntergeladen hat, oder anhand der Paketbeschreibung im Paket Manager.
Lie Ryan
8
@LieRyan: Viele Windows Installer-Programme enthalten einen "unbeaufsichtigten" Schalter. Wenn eine Person klug genug ist, darüber Bescheid zu wissen und es zu benutzen, dann ist es Einverständniserklärung.
Robert Harvey
21

Nach allem, was ich gesehen habe, läuft es wirklich auf das gesamte "Windows-Erlebnis" hinaus. Dies bedeutet, dass alle Aktionen oder Optionen für den Benutzer so sichtbar wie möglich sind.

Der Grund, warum ich das sage, ist, dass für die Installation keine grafische Benutzeroberfläche erforderlich ist. MSI-basierte Installationsprogramme können in ähnlicher Weise wie Linux-basierte Pakete unbeaufsichtigt installiert werden. Die GUI ist völlig optional, soll dem Benutzer aber auch hier eine visuelle Darstellung dessen geben, was im Hintergrund vor sich geht.

Unter Linux kann dies problemlos mithilfe eines Paketmanagers erreicht werden. Wenn ich ein Paket installieren möchte, muss ich dieses Paket speziell anfordern. Für technisch weniger versierte Anwender steht in der Regel ein GUI-basierter Paketmanager zur Verfügung, mit dem sie die gewünschte Software installieren können.

In Windows gibt es so etwas nicht. Wenn ein Benutzer Windows-basierte Software installieren möchte, muss er die Software separat suchen und herunterladen. Es gibt kein standardisiertes Tool, das den Benutzer bei der Konfiguration und Installation der Software unterstützt. Daher ist die mit jeder Software mitgelieferte Installations-GUI der GUI des Paketmanagers unter Linux sehr ähnlich. Es ist lediglich vorhanden, damit der Benutzer die Installation konfigurieren und ihren Fortschritt verfolgen kann.

In vielen Fällen ist eine Installations-GUI nicht erforderlich, da eine Verwaltungs-GUI vorhanden ist. Die beliebte Steam-Plattform installiert beispielsweise alle Spiele oder Software, die über den Steam-Store verfügbar sind, automatisch mithilfe von Installationsskripten.

Ein weiteres gutes Beispiel wäre SCCM. System Center Configuration Manager (kurz SCCM) ist eine Software zum Verwalten von Computergruppen in einem Netzwerk. Es umfasst die Möglichkeit, Software für die Installation über eine grafische Benutzeroberfläche namens Software Center verfügbar zu machen. Jedes MSI-basierte Installationsprogramm kann auf Knopfdruck zur Installation bereitgestellt werden. In der Umgebung, in der ich arbeite, steht Software zur Verfügung, die von der Creative Suite von Adobe bis zu WinZip reicht. Ein Benutzer muss lediglich den Katalog durchsuchen, um festzustellen, was verfügbar ist, auf Installieren klicken und auf die Bestätigung warten. Es ist fast derselbe Vorgang, als wollte ich etwas auf meinem Heimcomputer installieren, auf dem Linux Mint ausgeführt wird.

Thebluefish
quelle
5
"Das heißt, jede Aktion oder Option für den Benutzer so sichtbar wie möglich zu machen." -- Bestimmt. Genauso wie Windows gerne ausführlich beschreibt, welche Updates im Hintergrund installiert werden. Wer würde mit der einfachen Meldung "Neustart, um die Installation von 67 Updates abzuschließen" zufrieden sein?
Raphael
Lange vor dem App Store oder Homebrew von OS X war der Installationsvorgang noch automatisch. Zentrales Paketmanagement ist hier nicht der Haupttreiber.
james_womack
6

Windows verwendet MSI-Dateien , die weitgehend wie andere Programmpakete funktionieren. Sie können unbeaufsichtigt installiert werden, indem ein Flag gesetzt wird. Das Standardverhalten besteht jedoch darin, dass Windows eine grafische Benutzeroberfläche mit allen im Paket definierten Konfigurationsoptionen anzeigt. Für einen normalen Benutzer verhalten sich msi-Dateien daher genauso wie exe-Installer.

Als Benutzer, der sich häufig dafür entscheidet, die Standardeinstellungen zu ändern, finde ich, dass die Verwendung der GUI die einfachste Methode ist, um zu erfahren, über welche Optionen ich bei der Installation eines Programms verfüge, und es ist praktisch, sie gleichzeitig zu ändern.

Bezüglich der Möglichkeit eines Installers ist das standardmäßig völlig still. Unter Windows ist es üblich, dass der Benutzer das Installationsverzeichnis auswählen darf. Wenn Sie diese Option in einer GUI nicht zulassen, werden Sie bei vielen Benutzern auf die falsche Seite geführt. Benutzer sind es auch gewohnt, bei der Installation eines Programms mindestens ein Minimum an Dialogen zu sehen, wenn Sie nichts anzeigen, könnten sie denken, dass die Installation fehlgeschlagen ist.

aaaaaaaaaaa
quelle
5

Entwickler machen die Installation unter Windows automatisch, aber nicht die gesamte Software wird in diesem Format angeboten. Im Gegensatz zu vielen anderen Antworten gibt es in Windows einen standardmäßigen und weit verbreiteten "Paket-Manager" (nicht zu vergessen), der selbst unter Entwicklern relativ wenig bekannt ist, da er sich an Unternehmen und nicht an Endbenutzer richtet.

Es heißt SCCM und wird von jedem großen Unternehmen zur Verwaltung seiner Windows-Installationen verwendet. Neben der Verwaltung von Paketen (Push-Software und Abhängigkeiten zu Client-Computern) werden auch Updates für Windows und andere installierte Software verwaltet.

SCCM wird nicht einmal von technischen Benutzern zur Verwaltung ihrer eigenen Computer verwendet. Es ist nicht wirklich dazu gedacht, einen großen Vorteil für die Verwaltung eines einzelnen Computers zu bieten. in der Tat funktioniert es möglicherweise nicht einmal ohne Active Directory / nicht domänengebundene Computer. Daher würde ich es nicht wirklich als Windows- Paket-Manager bezeichnen , selbst wenn es die Software- und Update-Bereitstellung verwaltet.

Mein Punkt hier ist jedoch, dass es automatische Installationen unter Windows gibt , und sie sind weit verbreitet - von Systemadministratoren in großen Unternehmen. Wenn Sie ein Produkt sehen, das einen .msi-Download anbietet, liegt dies wahrscheinlich daran, dass es über SCCM automatisch auf Tausenden von Computern bereitgestellt werden soll.

Haftungsausschluss: Ich selbst habe SCCM nicht verwendet und weiß wenig darüber, so dass ich in Bezug auf einige der oben genannten Feinheiten falsch liegen könnte.

Roman Starkov
quelle
0

Auf der technischen Seite tendiert Windows zu einer stärkeren Integration zwischen Programmen (über die Registrierung) als Linux. Dies erfordert einen offiziellen Installationsprozess und nicht nur das Kopieren des Programms auf Ihre Festplatte (z. B. um Kontextmenüs zu aktivieren). Einige Betriebssysteme (z. B. Mac OS) führen einige dieser Vorgänge hinter den Kulissen oder beim ersten Start aus. Windows zieht es jedoch vor, sie explizit in die Installation einzubeziehen.

Auf der nicht-technischen Seite bevorzugt Windows das Modell des Festlegens und vergisst es. Linux zum Beispiel hat in der Regel nicht so viele Setups (Installationsoptionen), aber häufig verwenden Sie Flags, wenn Sie ein Programm ausführen - weil Sie es gewohnt sind. oder Sie ändern die Optionen, sobald Sie in einem Programm sind. Windows bevorzugt die Verwendung von festgelegten Optionen während einer festgelegten Zeit (Installation) und erwartet nicht, dass ein Benutzer bei jeder Ausführung eines Programms Befehlszeilenflags oder andere festgelegte Optionen verwendet. Dies verringert die Flexibilität (da Sie jedes Mal andere Flags verwenden können), obwohl dies häufig für Hauptbenutzer sichtbar ist (z. B. Optionen in einer Verknüpfung). bietet den meisten Benutzern jedoch eine einfachere Benutzeroberfläche und ermöglicht es dem Entwickler, den Benutzern eine übersichtliche Benutzeroberfläche zum Festlegen der erforderlichen Optionen und Standardeinstellungen bereitzustellen.

Joe
quelle
0

Haftungsausschluss: Dies ist größtenteils eine Spekulation, basiert jedoch auf meinen Erfahrungen mit dem Packen von Windows-Anwendungen für die Installation und Bereitstellung.

Es hängt alles davon ab, was der De-facto-Standard für die Installation auf einer Plattform ist. Unter Linux werden standardmäßig Paketverwaltungstools wie apt(dpkg / Debian-basiert) oder yum(rpm / RedHat-basiert) für die Installation verwendet. Sobald Sie ein Paket für die Bereitstellung bereitgestellt haben, ist das Erstellen eines Assistenten ziemlich zeitaufwändig, da die große Mehrheit der Benutzer das Paket ohnehin nur verwendet (als Standard).

Unter Windows ist der Standard eine GUI-basierte Installation. Es gibt Alternativen, jedoch ist keine dieser Alternativen zu 100% als Ersatz für einen Installateur geeignet:

  • Es gibt Tools für die Paketverwaltung (wie Chocolatey) , von denen jedoch noch keines die kritische Masse erreicht hat. Wenn Sie nur eine paketverwaltungsbasierte Installation bereitstellen, ärgern sich viele Benutzer darüber, dass sie nur eine andere Software installieren müssen, um Ihre zu installieren Programm (denken Sie daran, wie ärgerlich Download-Manager sind.) Die meisten Tools zur Paketverwaltung richten sich auch an technische Benutzer. Wenn Ihre Software also nicht für diese Benutzerdatenbank vorgesehen ist, ist es reine Zeitverschwendung, ein Paket für Chocolatey bereitzustellen wie niemand es benutzen wird.
  • Einige Softwareprodukte eignen sich für die Bereitstellung von XCopy. Dies funktioniert jedoch nur für relativ einfache Softwareprodukte. Es ist gut für Benutzer, die auf einem Flash-Laufwerk installieren möchten (zum Beispiel), aber für alle anderen ist es gut. Aus diesem Grund bieten viele Projekte, die Dateien für die XCopy-Installation freigeben, auch ein Installationsprogramm an.
  • Chocolatey bietet ein Befehlszeilen-Snippet, das die Installation herunterlädt und ausführt. Auch wenn es schnell ist und für technische Benutzer gut funktioniert, werden nicht-technische Benutzer Probleme haben und von dieser Installationsmethode abgeschreckt werden.

Wenn Ihre Software komplex genug ist, um eine Bereitstellung zu erfordern, ist sie so ziemlich obligatorisch, um eine GUI-Installation bereitzustellen, die den Erwartungen der Benutzer entspricht. Es gibt auch eine Reihe von Produkten, die das Erstellen dieser Assistenten ziemlich einfach machen. Daher ist die Bereitstellung eines GUI-basierten Installationsprogramms im Allgemeinen eine der Optionen mit dem geringsten Aufwand in Bezug auf die Entwicklungszeit. Sobald Sie ein GUI-basiertes Installationsprogramm haben, müssen Sie das Kosten-Nutzen-Verhältnis für jedes der oben genannten Elemente bewerten (denken Sie daran, dass neue Features mit minus 100 Punkten beginnen). Für viele Produkte lohnt es sich einfach nicht, diese Alternativen zu entwickeln und zu warten.

Beachten Sie, dass Installationsprogramme mit einem "unbeaufsichtigten" Modus unter Windows weit verbreitet sind. Dies ist jedoch in der Regel nicht der Standardmodus, da dies wiederum nicht der Standardmodus ist. Die meisten Windows-Benutzer würden ein Installationsprogramm finden, das sich sofort selbst installiert, sobald Sie es ziemlich verwirrend ausführen.

Justin
quelle