Tragbare Anwendung

A tragbare Anwendung (tragbare App), manchmal auch genannt eigenständige, ist ein Programm Entwickelt, um seine Konfigurationseinstellungen in einen zugänglichen Ordner im Computer zu lesen und zu schreiben, normalerweise im Ordner, in dem die tragbare Anwendung gefunden werden kann. Dies erleichtert die Übertragung des Programms mit den Einstellungen und Daten des Benutzers zwischen verschiedenen Computern. Ein Programm, das keine Konfigurationsoptionen enthält, kann auch eine tragbare Anwendung sein.
Tragbare Anwendungen können auf jedem gespeichert werden Datenspeichergerät, einschließlich intern Massenspeicher, a Dateifreigabe, Wolkenspeicher oder externer Speicher wie z. USB -Laufwerke und Disketten- Setzen Sie die Programmdateien und alle Konfigurationsinformationen und Daten allein im Speichermedium aus. Wenn keine Konfigurationsinformationen erforderlich sind, kann ein tragbares Programm aus ausgeführt werden schreibgeschützt Speicherung wie CD-ROMs und DVD-ROMs. Einige Anwendungen sind in beiden erhältlich installierbar und tragbare Versionen.
Einige Anwendungen, die standardmäßig nicht tragbar sind Kommandozeilenargumente. Beispiele können umfassen /tragbar
einfach das Programm anzuweisen, sich als tragbares Programm zu verhalten, oder -cfg =/path/Inifile
So geben Sie den Speicherort der Konfigurationsdatei an.
Wie bei jeder Anwendung müssen tragbare Anwendungen mit der Computersystemhardware kompatibel sein und Betriebssystem.
Abhängig vom Betriebssystem, Portabilität ist mehr oder weniger komplex zu implementieren; zu Betriebssystemen wie z. AmigaosAlle Anwendungen sind per Definition tragbar.
Tragbare Windows -Anwendungen
Eine tragbare Anwendung hinterlässt ihre Dateien oder Einstellungen nicht auf dem Host -Computer oder ändert das vorhandene System und seine Konfiguration. Die Anwendung schreibt nicht an die Windows -Registrierung gespeichert auch seine Konfigurationsdateien (z. B. eine INI -Datei) im Benutzer Profil; Stattdessen speichert es seine Konfigurationsdateien im tragbaren Verzeichnis. Eine weitere Anforderung, seitdem Dateipfade unterscheidet sich häufig beim Ändern von Computern aufgrund von Variationen in Antriebsbuchstabenzuweisungen, ist die Notwendigkeit von Anwendungen, sie in a zu speichern relativ Format. Während einige Anwendungen Optionen zur Unterstützung dieses Verhaltens haben, sind viele Programme nicht dafür konzipiert. Eine gemeinsame Technik für solche Programme ist die Verwendung eines Launcher -Programms So kopieren Sie die erforderlichen Einstellungen und Dateien auf den Host -Computer, wenn die Anwendung startet, und verschieben Sie sie beim Abschluss der Anwendung zurück in das Verzeichnis der Anwendung.
Eine alternative Strategie zur Erreichung der Anwendungsportabilität innerhalb von Window Anwendungsvirtualisierung: Eine Anwendung wird gegen eine Laufzeitschicht "sequenziert" oder "verpackt", die transparent sein Dateisystem und seine Registrierungsaufrufe abfängt und diese dann ohne das Wissen der Anwendung in einen anderen persistierenden Speicher weiterleitet. Dieser Ansatz lässt die Anwendung selbst unverändert und dennoch tragbar.
Der gleiche Ansatz wird für einzelne Anwendungskomponenten verwendet: run-time libraries, Com Komponenten oder ActiveX, nicht nur für die gesamte Anwendung.[1] Wenn einzelne Komponenten auf diese Weise portiert werden, können sie in der Lage sein: in Original -tragbare Anwendungen integriert, wiederholt instanziiert (praktisch installiert) mit unterschiedlichen Konfigurationen/Einstellungen auf demselben Betriebssystem (OS) ohne gegenseitige Konflikte. Da sich die portierten Komponenten nicht auf die von OS geschützten Unternehmen (Registrierung und Dateien) auswirken, benötigen die Komponenten keine administrativen Berechtigungen für die Installation und Verwaltung.
Microsoft erkannte bereits 2005 eine anwendungsspezifische Registrierung für sein Windows-Betriebssystem.[2] Es umfasste schließlich einige dieser Technologien mit den oben genannten Techniken über die Datenbank für Anwendungskompatibilität[3] mit seinen Umläufen[4] Codebibliothek in Windows XP. Es wurde keine dieser Technologien über sein System zur Verfügung gestellt Apis.
Portabilität auf Unix-ähnlichen Systemen
Programme, die mit einer Unix-ähnlichen Basis geschrieben wurden, treffen häufig keine Annahmen. Während viele Windows -Programme davon ausgehen, dass der Benutzer ein ist Administrator- etwas, das in den Tagen von sehr weit verbreitet ist Windows 95/98/MICH (und bis zu einem gewissen Grad in Windows XP/2000, obwohl nicht in Windows Vista oder Windows 7)-Es würde schnell zu "Erlaubnis verweigert" Fehler in Unix-ähnlichen Umgebungen führen, da die Benutzer viel häufiger in einem nicht privilegierten Zustand sein werden. Programme sind daher im Allgemeinen so konzipiert, dass sie die verwenden HEIMAT
Umgebungsvariable Einstellungen speichern (z. $ Home/.w3m
für die w3m Browser). Der dynamische Linker bietet eine Umgebungsvariable Ld_library_path
Diese Programme können Bibliotheken aus nicht standardmäßigen Verzeichnissen laden. Annahme /mnt
Enthält die tragbaren Programme und die Konfiguration, eine Befehlszeile kann aussehen wie:
Home =/mnt/home/user ld_library_path =/mnt/usr/lib/mnt/usr/bin/w3m www.example.com
Eine Linux-Anwendung ohne Benutzerinteraktion (z. B. Anpassung eines Skripts oder einer Umgebungsvariablen) auf unterschiedlichen Verzeichnispfaden kann mit dem erreicht werden GCC Linker Möglichkeit $ Origin
Dies ermöglicht einen relativen Suchpfad der Bibliothek.[5]
Nicht alle Programme ehren dies-einige ignorieren $ home völlig und führen stattdessen einen Benutzer nach /etc/passwd
Um das Heimverzeichnis zu finden, vereiteln Sie daher die Portabilität.
Es gibt auch Cross-Distro-Paketformate, für die keine Verwaltungsrechte erforderlich sind, wie es Autopackage, Klik (jetzt Appimage genannt) oder CDE, aber in den 2000er Jahren nur begrenzte Akzeptanz und Unterstützung in der Linux -Community.[6][7][8] Rund 2015 Die Idee des tragbaren und distro unabhängigen Verpackens für das Linux -Ökosystem bekam mehr Traktion, wenn Linus Torvalds diskutierte dieses Thema über die Debconf 2014 und später gebilligt Appimage für ihn Tauchprotokoll Anwendung Untergrund.[9][10][11] Zum Beispiel, Musecore und Krita folgte 2016 und verwendete Appimage -Builds für die Softwarebereitstellung.[12][13] Redhat veröffentlicht im Jahr 2016 die Flatpak System, ein Nachfolger von Alexander Larsson's Glick Projekt, das von Klik (jetzt Appimage) inspiriert wurde.[14] Ähnlich, Kanonisch veröffentlicht im Jahr 2016 Schnapppakete zum Ubuntu und viele andere Linux -Distributionen.
Viele Mac-Anwendungen, die von Drag-and-Drop installiert werden können, sind von Natur aus als MAC-Anwendungsbündel tragbar.[15] Beispiele beinhalten Mozilla Firefox, Skype und Google Chrome Dies erfordert keinen Zugriff auf Administrator und muss nicht in einen zentralen, eingeschränkten Bereich eingefügt werden. Anwendungen in /Benutzer/Benutzername/Anwendungen
(~/Anwendungen
) werden bei macOS launchservices genauso registriert wie Anwendungen, /Anwendungen
Mappe. Wenn Sie beispielsweise mit der rechten Maustaste auf eine Datei im Finder klicken und dann "Open With ..." auswählen, werden Anwendungen angezeigt, die sowohl aus /Anwendungen als auch bei ~ /Anwendungen verfügbar sind. Entwickler können MAC -Produktinstallateure erstellen, mit denen der Benutzer eine Home -Verzeichnis -Installation mit der Bezeichnung "Nur für mich" in der Installationsperson -Benutzeroberfläche ausführen kann.[16] Eine solche Installation wird als Benutzer durchgeführt.
Siehe auch
- Lastantrieb
- Liste der tragbaren Software
- Tragbare Anwendungsschöpfer
- Anwendungsvirtualisierung
- Live USB
- Data portability
- Interoperabilität
Verweise
- ^ "Tragbare Anwendungskonversionstechnologie". Sphinx -Software. Archiviert von das Original am 7. September 2010. Abgerufen 19. Januar, 2012.
- ^ "Tragbare Anwendungsregistrierung". ip.com. Abgerufen 19. Januar, 2012.
- ^ Ionescu, Alex. "Geheimnisse der Anwendungskompatilibitätsdatenbank (SDB) - Teil 1". Abgerufen 19. Januar, 2012.
- ^ "Umleitungen". Microsoft Research. Abgerufen 19. Januar, 2012.
- ^ Hustvedt, Eskild (2009-02-08). "Unsere neue Art, die LGPL zu treffen". Archiviert von das Original am 2009-02-20. Abgerufen 2011-03-09.
Sie können ein spezielles Keyword $ origin verwenden, um „relativ zum tatsächlichen Standort der ausführbaren Datei“ zu sagen. Plötzlich stellten wir fest, dass wir -RPath $ Origin/lib verwenden konnten, und es funktionierte. Das Spiel lud die richtigen Bibliotheken und war so stabil und tragbar, war aber jetzt auch vollständig im Geiste der LGPL sowie des Briefes!
- ^ Vining, Nicholas (2010-10-13). "Liebe Linux Community: Wir müssen reden". Gaslamp -Spiele. Abgerufen 2011-01-30.
Die Linux -Community fährt in ihrer unendlichen Weisheit mit CDE zum Teufel. [...] „Wir sollten alle nur das Paketmanagement verwenden.“ Hier ist, was ich sagen möchte, und lassen Sie meine Worte von den Berggipfeln auf winzigen Steintafeln geschrieben werden: Packungsmanagement ist kein universelles Allheilmittel.
- ^ Byfield, Bruce (2007-02-12). "Autopackage, der darum kämpft, Akzeptanz zu erlangen". Linux.com. Archiviert von das Original am 2008-03-31. Abgerufen 2012-01-21.
Wenn Hearn korrekt ist, ist die eigentliche Lektion von Autopackage nicht die Verbesserung der Software-Installation, sondern die Schwierigkeit-vielleicht die Unmöglichkeit-von großflächigen Änderungen in der Linux-Architektur so spät in seiner Geschichte. Es ist eine ernüchternde, enttäuschende Schlussfolgerung zu einem Projekt, das einst so vielversprechend schien.
- ^ "Appimages". Grundprojekt. Archiviert von das Original am 13. Dezember 2010. Abgerufen 19. Januar, 2012.
- ^ Linus Torvalds (2014-08-29). "Q & A mit Linus Torvalds" (Video). Debconf 2014 Portland. Debian.Netz. 6:28. Abgerufen 2016-05-14.
Ich habe diese aus erster Hand mit dem anderen Projekt gesehen, an dem ich beteiligt bin, nämlich meine Tauchprotokoll -App. Wir machen Binärdateien für Windows und OSX, wir machen im Grunde keine Binärdateien für Linux. Wieso den? Denn Binärdateien für Linux -Desktop -Anwendungen sind ein großer verdammter Schmerz im Arsch.
{{}}
: CS1 Wartung: Verwendet Autorenparameter (Link) - ^ Torvalds, Linus. "Das ist einfach sehr cool". Google+.
Ich bin endlich gekommen, um mit der "AppImage" -Version von +unter der Oberfläche zu spielen, und es scheint wirklich "nur zu funktionieren".
- ^ HOLLDEL, DIRK (2015-11-25). "Das ist einfach sehr cool". Google+.
Ich möchte, wie der App -Betreuer, meine App nicht mehr in einer Verteilung gebündelt. Weg zu viel Schmerz für absolut null Gewinn. Wann immer ich einen Fehlerbericht erhalte, lautet meine erste Frage "Oh, welche Version von welcher Verteilung? Welche Version von welcher Bibliothek? Welcher Satz von verrückten Patches wurde auf diese Bibliotheken angewendet?". Nein, Windows und Mac machen das richtig. Ich steuere die Bibliotheken, gegen die meine App ausgeführt wird. [...] Mit einem Appimage kann ich ihnen genau das geben. Etwas, das auf ihrem Computer läuft.
- ^ Weiss, Isaac. "MuseSescore 2.0.3 wird veröffentlicht". Musescore.org. Musecore. Archiviert von das Original am 2016-04-23. Abgerufen 2016-04-05.
- ^ "Krita 3.0 veröffentlicht". Krita.org. Krita. 2016-05-31.
- ^ Experimente mit Laufzeit-App-Bündeln von Alex Larsson (2007)
- ^ "Verteilen Ihrer Bewerbung". Entwickler.apple.com. Abgerufen 2017-05-23.
- ^ "Verteilung XML Referenz". Entwickler.apple.com. Abgerufen 2017-05-23.