In letzter Zeit habe ich versucht, viel weniger Dinge auf meinem Windows-Computer zu installieren (ich hasse Installer - ich muss wissen, wo Programme Dinge ablegen ...) und mich stattdessen für tragbare oder eigenständige Versionen von Anwendungen entschieden.
Ich habe sie alle in einem "Programme" -Verzeichnis auf einem Laufwerk abgelegt, das von meiner Windows-Partition getrennt ist. Wenn ich sie neu installiere, habe ich alle meine Anwendungen mit minimalem Aufwand zur Verfügung und auf der positiven Seite erhalte ich eine schöne, saubere Einrichtung.
Für Anwendungen wie Office und Creative Suite muss ich immer noch einen schrecklich langen Installationsprozess durchlaufen, bei dem tausend zufällige Bibliotheken und Tools auf meinem System verteilt werden.
Warum müssen Windows-Apps noch installiert werden? Warum können wir Photoshop nicht einfach in einen Ordner à la OSX ziehen und es einfach funktionieren lassen? Konzentriert sich noch jemand auf tragbare Apps, oder bin ich nur ein OCD für das Ganze?
Antworten:
Installateure sind das Ergebnis jahrelanger Entwicklung und ein bisschen (vereinfachter) Geschichte hilft zu verstehen, warum sie das tun, was sie tun.
Das Windows 3.1-Modell schlug Konfigurationsdateien im config.ini-Stil pro Anwendung vor, die gemeinsam genutzte Bibliotheken unterstützen, die in Systemordner abgelegt werden, um Duplikate und verschwendeten Speicherplatz zu vermeiden.
Windows 95 führte die Registrierung ein, die einen zentralen Speicher für die Anwendungskonfiguration ermöglicht und viele Konfigurationsdateien ersetzt. Noch wichtiger ist, dass die Windows-Konfiguration am selben Ort gespeichert wurde.
Die Registrierung wurde aufgebläht, weil die Anwendungen nicht nachträglich bereinigt wurden. DLL Hölle geschah als Ergebnis mehrerer Versionen der gleichen gemeinsam genutzten Bibliotheken, die sich gegenseitig überschrieben.
.NET führte das Konzept von app.config ein (fast ini-Dateien mit der zweiten Markierung, diesmal mit etwas mehr Struktur, die Entwicklern das Schreiben manueller Parser erspart). Der GAC wurde in die Versionsfreigabe von Assemblys eingeführt, um die DLL-Hölle zu verhindern.
In Windows XP und Windows Vista hat Microsoft versucht, den Benutzerbereich als Speicherort für Benutzerdaten und Konfigurationsdateien an einem einzigen Standardspeicherort zu definieren, um Roaming-Profile und eine einfache Migration (kopieren Sie einfach Ihr Profil) mit den in den Programmdateien installierten Anwendungen zu ermöglichen .
Der Grund dafür liegt vermutlich darin, dass "Anwendungen in Windows so konzipiert sind, dass sie an einem Ort gespeichert werden, ihre gemeinsamen Abhängigkeiten an einem anderen Ort und die benutzerspezifischen Daten an einem anderen Ort", was dem Konzept des Kopierens eines einzelnen Orts ziemlich entgegensteht.
.. und das ist, bevor Sie Benutzerkonten konfigurieren und Sicherheitsberechtigungen einrichten und sicherstellen, Updates herunterladen und Windows-Dienste installieren müssen ...
xcopy ist der "einfache Fall" und passt mit Sicherheit nicht zu allem.
quelle
XCOPY Deployment wurde von Microsoft wie angekündigt die vor Weg der Zukunft ein paar Jahren. Immer noch nichts :)
In der Zwischenzeit könnte Sie die Plattform PortableApps.com interessieren.
quelle
Tolle Frage, ich habe vor einiger Zeit eine verwandte Frage zu Stack Overflow gestellt.
Die Antwort scheint oft zu sein "weil wir es in der Vergangenheit so gemacht haben". Tut mir leid, aber das geht bei mir nicht auf.
Ein paar andere haben gesagt, der Hauptgrund liegt in der Registrierung. Wenn Sie über einen Gerätetreiber oder eine andere COM-Komponente usw. sprechen, ist dies möglicherweise erforderlich, jedoch nicht für GUI-Anwendungen wie Textverarbeitungsprogramme oder Tabellenkalkulationen.
Es ist durchaus möglich, eine Anwendung zu schreiben, die entweder beim Start nach den erforderlichen Registrierungseinstellungen sucht und den Benutzer dazu auffordert / Standardeinstellungen verwendet. Wie viele andere protable Apps auch, teilen Sie dem Benutzer mit, dass die Betriebssystemintegration derzeit eingeschränkt ist, da Sie im portablen Modus ausgeführt werden.
Installateure haben oft auch viel "Wissen" über die Funktionsweise der Anwendung. Wenn sich die Anwendung ändert, müssen Sie häufig auch das Installationsprogramm aktualisieren. Dies ist eine klassische Ursache für Fehler / Probleme, die ich in meiner Zeitprogrammierung gesehen habe.
Es ist der One-Size-Fit-Ansatz.
quelle
Einfache und klare Antwort: Es ist einfach eine Frage, wer die Kontrolle hat. Heutzutage wird die meiste Software von Unternehmensriesen für das Unternehmens- oder institutionelle Umfeld entwickelt, in dem Benutzern gesagt wird, was sie tun sollen, anstatt ihren Computern mitzuteilen, was sie für sie tun sollen.
Ihre Frage ist äußerst wichtig, da sie eine grundlegende Frage nach den Rechten und Freiheiten des Einzelnen aufwirft, die nicht von Tyrannen wie in alten Gesellschaften, sondern von der Gier der Unternehmen und der Notwendigkeit der Wenigen, die Vielen zu kontrollieren, immer mehr untergraben wird.
Tatsächlich scheinen wir vergessen zu haben, dass genau dieselben Leute, die früher die Tyrannei von Giganten wie IBM entlarvten, zu den IBMs der heutigen Zeit geworden sind ... Schauen Sie sich die Geschäftspraktiken von Microsoft, Apple, genau an und Adobe, um nur einige zu nennen, und sagen mir mit aller Deutlichkeit, dass ihre restriktiven Lizenzen harmloser sind als die Geschäftspraktiken von IBM, genau wie die von IBM, die durch ihre Offenheit den Weg zur Revolution im Bereich Personal Computing geebnet haben ...
Ich habe im Laufe der Jahre viele in sich geschlossene, tragbare Apps verwendet und sie haben sich ausnahmslos als die effektivsten, schnellsten und kleinsten in Bezug auf Stellfläche und Ressourcen erwiesen und nicht zuletzt sind sie ihrer Bloatware überlegen Kollegen, aber die meiste Zeit sind sie auch frei.
Es ist höchste Zeit für eine zweite PC-Revolution. Ein Schritt in die richtige Richtung ist die Verbesserung der Portabilität durch Reduzierung von Überlastungen und Feststellung, wo Einstellungen in einem bestimmten Ordner an einem bestimmten physischen Speicherort auf einem physischen Medium gespeichert sind.
quelle
Eine Kombination aus Registrierung und Benutzerspeicher. Die Registrierung ist von entscheidender Bedeutung, insbesondere wenn Ihre Anwendung auf COM basiert (was eine Registrierung erfordert, was in der Registrierung geschieht). Der benutzerspezifische Speicher (der Konfiguration usw.) ist ebenfalls eine wichtige Komponente. Der einzig gute Weg, dies zu tun, besteht darin, es in einigen speziell entworfenen Verzeichnissen zu speichern (siehe Isolierter Speicher ).
quelle
Meistens aufgrund der Windows-Registrierung - obwohl sich Ihre Programme in einem bestimmten Verzeichnis befinden, werden Einstellungen häufig in der Registrierung gespeichert.
Dies kann auch daran liegen, dass das Programm Dateien in anderen Verzeichnissen als dem Installationsverzeichnis auf Ihrem Computer ablegt (z. B. system32).
quelle
Ein großer Vorteil für Installateure gegenüber dem Installationstyp Xcopy / Portable ist die Selbstreparatur.
In einer App, die das Windows Installer-System ordnungsgemäß verwendet, werden alle möglichen Informationen dazu in der Windows Installer-Datenbank auf Ihrem Computer gespeichert sowie häufig ein Cache mit wichtigen Teilen der Setupdateien.
Wenn die App aus irgendeinem Grund abstürzt (etwas anderes löscht / ersetzt eine Datei, die Registrierung wird beschädigt, Festplattenprobleme, der Benutzer löscht die Verknüpfung usw.), prüft das Installationsprogramm bei jedem Start die Schlüsseldateien und -schlüssel ersetzt, wenn sie nicht vorhanden sind, oder Sie können in der App unter "Software" auf "Reparieren" klicken.
quelle
Ich denke, das hängt zum Teil mit der großen Menge an Cruft-Windows-Apps zusammen. Beispiel: Registrierungsschlüssel, Benutzerdaten (/ Users // AppData). Vielleicht geht OSX einfach besser / anders damit um.
Andererseits ist es nicht unmöglich, Apps zu erstellen, die Sie einfach aus einem Archiv extrahieren können - ich freue mich immer, wenn dies der Fall ist.
quelle
Das .Net Framework ist die Plattform, um diese Art von Funktionalität zu ermöglichen, und die meisten Installationsprogramme werden nur verwendet, weil dies das ist, was normale Benutzer gewohnt sind. Genauso wie Mac-Benutzer es gewohnt sind, Dateien in den Anwendungsordner zu kopieren.
Die meisten Installationsprogramme erweitern einfach Dateien in den Ordner "Programme" und erstellen eine Verknüpfung. Es ist eher ein Fall von dem, was Benutzer wissen, und oft ist es einfach zu einfach, den Prozess selbst dann beizubehalten, wenn die Anwendung portierbar ist.
quelle
Einige Programme setzen voraus, dass sich der Installationsort in der Registrierung befindet, bei anderen ist der Installationsort möglicherweise fest im Programm programmiert (dies war bei perl.exe der Fall).
Grundsätzlich liegt der Hauptgrund darin, dass Programmierer den einfachen Ausweg gewählt und etwas in die Programme hartcodiert haben, entweder Registrierungsschlüssel oder tatsächlich hartcodierte Pfade.
quelle
Viele Windows-Anwendungen müssen Systemumgebungen oder -dienste wie SQL Server, IIS, WMI, Sicherheitsdomänen, Active Directory und viele andere verwenden. Ein typischer Benutzer weiß möglicherweise nicht, wie er diese konfigurieren soll, oder hat möglicherweise nicht einmal Zugriff darauf.
Anwendungen wie Microsoft Office sind keine einzelnen Dateien. Sie enthalten Dutzende von Dateien, ausführbaren Dateien, Dienstprogrammen, Diensten, Vorlagen, Plug-Ins, Treibern usw. Wenn Sie eine Anwendung installieren, können Sie nicht einfach alles überschreiben, was die neue Anwendung verwendet. Sie muss in das passen, was bereits vorhanden ist. Windows-Installer können nicht nur Dateien kopieren, sondern auch die Systemumgebung abfragen, Skripts ausführen und Dienste installieren und den Computer so einrichten, als ob sie ein Administrator wären.
dbkk101 fragt, warum Windows-Apps "nicht alle miteinander auskommen können". Sie können, dafür sind Installateure da.
quelle
Bei manchen Programmen ist die Installation zwar albern, aber es geht um viel mehr als nur um das "Ziehen einer Datei in ein Programmverzeichnis".
Zumindest muss ein anständiger Installer die Installationsdatei dekomprimieren und die entsprechenden Verknüpfungen einrichten, damit das Programm einfach entfernt werden kann, wenn es nicht mehr benötigt wird. Ich denke, die Dekomprimierung und das Kopieren dauert wahrscheinlich am längsten.
Dann gibt es freigegebene Dateien - dies gilt insbesondere für die Linux-Welt, jedoch weniger für Windows IMO.
Am wichtigsten ist, dass einige Programme für den Computer konfiguriert werden müssen und einige (ich nehme an, zumindest) versuchen, basierend auf dem Computer zu optimieren, oder zumindest das, woran ich im Dialogfeld von Adobe glaube.
Außerdem habe ich noch nie einen Grund gesehen, auf einer separaten Partition zu installieren. Sie neigen dazu, alle Ihre Registrierungswerte und Konfigurationseinstellungen zu verlieren. Außerdem bevorzuge ich diesen Verlust, da er das Aufblähen von Windows verringert.
quelle