Installer programmieren

AliManali

cpt sunday flyer
Thread Starter
Mitglied seit
07.03.2012
Beiträge
4.566
Ort
Ostschweiz
Hi

Ich habe für einen Flugsimulator diverse Files, um den aufzupeppen. Es handelt sich um Szenerien, Flugzeuge und Settings. Ein Teil davon soll im Programme Ordner in diverse Unterordner, der grosse Teil in verschiedene Ordner im Dokumente Verzeichnis. Es handelt sich um ca. 9GB Daten.

Im Moment habe ich die Daten in .zip Archive gepackt, welche dann vom Nutzer "von Hand" in das jeweilige Verzeichnis entpackt werden müssen. Bin aber am liebäugeln, mir einen Installer zu basteln, wo man mit Filtern (Kombination aus Steuerelementen und Baum Ansicht) den jeweiligen Kontent der installiert werden soll auswählen kann. Das ganze soll auf WinXP, Win7, Win 8.1 und Windows 10 lauffähig sein. Ausserdem nehme ich mal an, dass die Ordnerpfade von Benutzer zu Benutzer unterschiedlich sein werden. Also z.B. der Installationspfad des Sims auf 32/64 bit Systemen, eventuell hat wer bei der Installation einen benutzerdefinierten Pfad gewählt, etc. Ausserdem braauche ich im Programme Ordner wohl noch spezielle Rechte, um da rein zu kopieren.

Fragt sich, in was für einer Sprache ich den am einfachsten basteln kann. Es sollen keine zusätzlichen Runtimes beim Benutzer erforderlich sein. Somit fällt Java schon mal raus, denke ich. Eclipse wär aber trotzdem nice, da es kostenlos nutzbar ist. Aber in c++ würde das sicherlich kompliziert wie sau. Am liebsten würde ich das in c# machen, aber da habe ich leider keine Lizenz dazu. Würde da die Free Version vom Visual Studio reichen? Gibt es eventuell ein Tool, das genau für den Zweck ausgelegt ist?

Gruss und Danke
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Statt das neu zu programmieren, was wäre mit dem Nullsoft Installer?
Link: NSIS Wiki

Generell kann ich kaum glauben das es sowas nicht fertig gibt... ;)
 
Hi

Ich habe mir das angesehen mit NSIS. Wär eigentlich das, was ich brauche. Nur wird der Installer wie gesagt rund 19GB gross, und da gibts leider dauernd Änderungen am Kontent. D.h., ich müsste wegen jedem Furz einen neuen Installer kompillieren, und die User müssten den dann auch alle wieder neu downloaden.

Cool wär halt ein Launcher für die User, worüber die aktuellen Files online "in Echtzeit" verteilt werden, bzw. benutzerdefiniert installiert (kopiert) werden können. Also quasi der Benutzer setzt/sucht dort sein Installations- und Dokumente Verzeichnis, und der Launcher kopiert dann halt da hin. So ähnlich wie der Blizzard Launcher. Da muss ich auch nicht in der Registry rum fummeln, die Pfade vom Sim habe ich da eh irgendwie nicht gefunden.

Da geht es auch nicht um was mega Kompliziertes mit binaries und so was. Da sollen einfach aktuelle Files per Filter explizit ausgewählt werden können, und die dann ins entsprechende Verzeichnis kopiert werden. Und wenn gewisse vertrauenswürdige Admins per VPN oder whatever neuen Kontent selbstständig hochladen könnten, wär das auch recht sexy.

  • Was nimmt man da denn als Server für so ein Lauchner? ftp/Webserver? eventuell github?
  • Gibt es da eine geeignete Plattform dazu? Wo Server/Client grad zusammen passen.
  • Machbar für einen Hobby Programmierer?
  • Klickibunti RAD wär geil für die Dialoge...

Geht um folgendes Projekt:

Phoenix RC online service

Gruss und danke!

cpt sunday flyer
 
Zuletzt bearbeitet:
Vielleicht kennt jemand noch ein Tool, dass das alles kann.
Falls nicht, hier ein paar Gedanken fürs selber machen. Für einen Hobby-Programmierer sollte folgendes machbar sein :


Mit einem Batch-Skript einen FTP Client ansteuern, der die Files herunterlädt.
Eventuell könnte man die Programm-Dateien (und den FTP Client) mit dem Installer installieren. Die können im Installer enthalten sein oder vorher mit FTP in ein Installationsverzeichnis geholt worden sein.
Wenn Du dich an den Windows Scripting Host und seine unendlichen Möglichkeiten herantraust, kannst Du auf den FTP Client verzichten.

Die Abfragen kann vielleicht auch der Installer erledigen. Sonst musst Du auf Klickibunti wahrscheinlich verzichten. Aber ein Zielverzeichnis in einem Cmd Fenster abzufragen, sollte doch akzeptabel sein. Für Leute, die einen Jumbojet fliegen wollen :d

Die Dateien müssen auf einem Webspace liegen. Für 19 GB wirst Du wohl kaum ein kostenloses Angebot finden.
Vertrauenswürdigen Leuten kannst Du FTP Upload Berechtigungen erteilen.
 
Zuletzt bearbeitet:
Files kannst du ja auf einem normalen Webserver oder auf FTP hosten. Alternativ könntest du auch einen eigenen git server (lies: nicht auf github!) laufen lassen. Allerdings bräuchtest du dann einen git Client auf der Gegenseite. Am einfachsten ist es wohl, wenn du eine Variante wählst mit der du clientseitig ohne Zusatztools hinkommst. Sprich FTP/webserver und dann vielleicht mir Archiven (zip?!). Wenn du es ganz fancy haben willst, könntest du auf besagtem Webserver ne kleine Datei mit verfügbaren Paketen pflegen und die auf der clientseitigen GUI einlesen. Hätte den Vorteil, das du nie den Installer anpassen musst, aber den Nachteil das du potentiell ein Problem hast, sollte einer deine Infrastruktur "übernehmen".

Ich bin mir allerdings nicht sicher ob es so eine Lösung fertig gibt oder ob du die händisch programmieren musst. Mein spontaner Suchbegriff wäre wohl "Package Manager", das sollte so ziemlich das sein was du suchst.
 
Zuletzt bearbeitet:
Ja, danke!

Aber ein Zielverzeichnis in einem Cmd Fenster abzufragen, sollte doch akzeptabel sein. Für Leute, die einen Jumbojet fliegen wollen :d

Hast Du ne Ahnung... Musste einem gestandenen A10-, und triple seven first officer- Pilot das VPN für den Spielzeugserver per remote Desktop einrichten. Hat aber nen Lappen rüber wachsen lassen, der darf das. Er ist mein persönlicher Held im Phoenix Universum... :fresse:
 
Zuletzt bearbeitet:
:d

wenn's beim Programmieren wo klemmt, kannst du dich ja wieder melden. Viel Erfolg.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh