Installation vs. Portable



  • Hallo Leute,

    ich will ein "Programm" schreiben leider bin ich aber ein zimlicher neuling, bis jetzt hab ich nur ein bisschen mit android studio herum gespielt und ein wenig in c++ reingeschnuppert. Ich will eine Desktop anwendung schreiben die OHNE installation klarkommt und sie soll auf win10 laufen. Jetzt stellt sich mir die Frage ist c++ dafür das richtige bzw. wie unterscheidet sich eine installation zu einer portable version eines programms warum braucht man manchmal eine Installation und warum funktionieren mache Anwendungen auch ohne?



  • Eine portable Version von Software gibt dir die Möglichkeit, den Ordner in welchem sich dieses Programm befindet zu verschieben ohne das du die Funktionsweise beeinträchtigst.

    Das bedeutet das alle Daten die das Programm benötigt sich in diesem Ordner befinden und gemeinsam auf eine andere Maschine mit demselben Betriebssystem übertragen werden können um dort fröhlich weiter zu funktionieren.

    Bei fixen Installationen ist es so, dass bestimmte Informationen in vordefinierten Stellen des Betriebssystems gespeichert werden welche nach dem Verschieben natürlich nicht mehr zur Verfügung stehen. Da du Windows als Plattform nennst nehme ich einfach mal die Windows Registry als Beispiel. Diese wird nicht einfach mit kopiert wenn du dein Programm verteilst.

    Die Verwendung einer Suchmaschine gab mir diesen Link mit dazu: https://superuser.com/questions/137894/whats-the-difference-between-portable-and-install-versions



  • Ah ok das hilft mir schonmal weiter, vielen dank, auch der Link ist interresant (btw. ich hab natürlich vorher gegoogelt aber nichts passendes gefunden) um nochmal darauf zurück zu kommen, da es schon etwas dringlich is, gehe ich mit c++ in die richtige richtung oder ist für mein vorhaben eine andere sprache evtl. geeigneter und mit welchen programmen setzte ich so etwas um, reicht dafür visual studio aus?



  • Die Frage find ich schon irgendwo seltsam... Es ist erstmal viel einfacher, eine "portable" Version zu schreiben. Die Installation musst du nämlich auch irgendwie schreiben, das ist alles Aufwand, und DU musst wissen, warum du das tust und was dabei passiert. Es mag sein, dass es Gründe gibt, warum man eine Anwendung installieren sollte, aber dann ist die Anwendung in der Regel schon viel komplexer oder umfangreicher.
    Das einzige was du für eine portable Version beachten musst, ist die Runtimes mitauszuliefern, oder statisch dagegen zu linken.



  • Hi,

    ich werfe mal noch einen Gedanken ins Feuer.

    Bei einer Installation besteht immer die Gefahr, eine andere Anwendung irgendwie zu stören oder abzuschießen.
    Hab es selber erlebt, eine Borland-Datenbank-Anwendung, damals noch auf Paradox-Basis. Die MUSSTE installiert werden, damit die BDE mit installiert wird. (es sei den, die BDE ist schon vorhanden, aber dann muss man da irgendwie die benötigten Aliasse setzen).
    Beim Nutzer das ganze installiert und siehe da, es lief problemlos.
    Leider wollte er am nächsten Tag seinen Agrarfördermittelantrag fertig machen und musste feststellen, das ihm die Installationsroutine (mit dem Borland eigenem Tool erzeugt) seine Datenbankeinstellungen komplett zerschossen hatte.
    Brachte für mich den Hinweis von meinem Chef mit, das in Zukunft alles ohne Installation gehen muss.
    Andererseits muss bei einer geeigneten Installationsroutine der Nutzer nur noch den CD-Schlitz finden und in der Lage sein die Frage ob installiert werden soll mit ja zu beantworten.
    Eine sauber konfigurierte Installation ist also in jedem Fall die Version für die ganz dummen User.

    Eine portable Version ist dagegen, wenn sie entsprechend gestaltet ist völlig ohne jegliche Nebenwirkungen (außer Platzbedarf) auf dem Rechner.
    Aber sie setzt eben zum Teil auch den etwas wissenden Nutzer voraus. Leider kann man den heute nicht mehr voraussetzen.Bei manchen Nutzern bin ich schon hocherfreut, wenn sie wenigstens den Netzschalter des Computers finden.
    Wenn dann mehrere Dateien (z.B. für Datenbanken) gebraucht werden, dann erfordert das, dass man alles in ein geeignetes Zip-File steckt. Selbstentpackende Exe wäre günstiger, aber da haben wiele nicht das nötige Rootrecht um die ausführen zu können. Allein das entpacken des Zips ist für manche ein fast unlösbares Problem.
    Dann die Frage wohin installieren. Die einen installieren (entpacken) gleich im Download-Ordner oder in irgend einem Temp-Ordner. Andere wollen sich was gutes tun und wählen den Programme-Ordner und wieder andere machen einfach alles auf dem Desktop. Wenn man sie wegen einem Problem am Telefon hat, können sie einem vielfach nicht mal sagen wo sie sind.
    Noch kritischer wird es, wenn ein Update erforderlich ist. Da dann die neue Exe nehmen und in das alte Verzeichnis über die alte drüber zu kopieren ist für viele eine nicht zu bewältigende Hürde, auch mit Betreuung am Telefon nicht.
    Also nicht die Exe überschreiben, sondern komplett neu entpacken und aus dem alten die Datenbankdatei ins neue rüberziehen. Geht aber auch nicht, weil bei den meisten die Dateiendungen ausgeblendet sind. Die nehmen also garantiert die falsche. Dass bei Access ein Schlüssel auf dem Icon ist, den sehen auch viele nicht. Ich hab schon Fälle gehabt, wo ich nach zwei Stunden am Telefon aufgegeben habe, weil es einfach keine gemeinsame Sprache gab. Sind sicher nicht die Masse der Fälle, aber wenn die Kunden über 500 km entfernt sitzen kann man auch nicht mal so einfach hinfahren und es selber machen. In einem Fall hat es geholfen, das er später noch mal angerufen hat als seine Frau da war (die es dann in 5 Minuten geschafft hat).
    Ideal wäre eine portable Version, die aber nicht selbst installiert wird, sondern wo man en kleines Startprogramm irgend wo hinlegt, dass dann den Rest erledigt und alles aus dem Netz runter zieht, entpackt und auch Updates sucht und installiert. Leider für mich auch nicht gangbar, weill es das Vorhandensein von einfach nur 50 MB Speicherplatz auf irgend einem am Netz hängenden Server erfordert und das ist organisatorisch (zumindest bei uns) nicht realisierbar.

    Gruß Mümmel


Log in to reply