Software Repository Programmieren

nissl

Lt. Commander
Registriert
Sep. 2008
Beiträge
1.031
Guten Morgen,

ich bin nicht sicher ob der Titel genug aussagt. Mein Ziel ist es ein Repository zu Programmieren wie genau das aussehen soll erläutere ich gleich.
Eigentlich ist mir noch vollkommen unklar welche Programmsprache ich benutzen kann/will.
Auch sind meine Kenntnisse sämtlicher sprachen eigentlich kaum bis garnicht vorhanden, dennoch will ich das Projekt angehen und mich solange einarbeiten bis etwas brauchbares bei herauskommt.

Mein Ziel ist ein Software Repository zu bauen welches mittels einem 'Client' auf einer Frisch installierten Windowsmaschine mit einem Klick gestartet wird. Im ersten Schritt werde ich es wohl bei einer Konsolenanwendung belassen die alle Schritte selbstständig abarbeitet, später könnte ich mir vorstellen das mit einer GUI zu machen in der man Pakete auswählen kann.

Das Repository plane ich auf meinem Webspace zu hosten: ala 'http://repo.meine-domain.net/setup.exe'.

Im Prinzip soll das Programm setup.exe runterladen (z.B. C:\Temp) und dort die installation silent starten. Ob das mit den Schaltern der eigentlichen Setup.exe gemacht werden soll oder ob ich das auch anderst erreiche ist mir nicht klar.

Das Repository würde ich händisch pflegen.
Zudem sollten noch einige PowerShell scripte ausgeführt werden mit denen ich diverse Windowseinstellungen festlegen möchte.

Vielleicht gibt es sowas schon, es sollte aber möglichst keine Daten auf dem System zurücklassen. Also denke ich das 'Chocolatey' nicht in Frage kommt.
Viel weiter hat mich meine Googlesuche nach soetwas auch nicht gebracht.

ICh würde das Windows Image mit RT 7 soweit modifizieren dass die 'Installationsroutine' bzw mein 'Client' schon mitinstalliert ist, nach dem ersten Windowsstart liesse sich dieser dann mit einem Doppelklick ausführen.
Alle installationen Laufen silent durch, das System rebootet danach und steht mit allen Programmen und Einstellungen bereit.
Auch die Teporären dateien wie Downloads würden mittels des Clients gelöscht, ebenso er selbst. :D

Coole idee oder ?

Dumm nur das ich weder weiss mit welcher Sprache sich das am elegantesten und einfachsten umsetzen lässt.

Ich wäre für jeden nützlichen Tip Dankbar.=)
 
ganz ehrlich ? mach dir ne saubere installation und zieh dir davon ein image mit TrueImage zb und werd glücklich.
 
Habe ich alles schon bedacht.
Was der Vorteil dieser Variante ist, ich muss das Repository nur mit Aktuellen Setups füllen und den Dateinamen beibehalten.
Ausserdem kann ich meine 'Client.exe' auch weitergeben an Kollegen und die könnten das auch benutzen.

Das Image ist unpraktisch wenn:
- Die Hardware nicht gleich ist
- Aktuellere Software verfügbar wird
 
metalpinguin schrieb:
..

Du suchst sowas ;)

Nein, denn ich möchte auf dem 'Client PC' kein Basisprogramm installieren sondern lediglich sowas wie eine Batch die die Pakete herunterläd und silent installiert.

Ich habe auch keinen weiteren Recher zur Verfügung. Deswegen möchte ich auch die Pakete auf meinem Webserver ablegen, auch, damit man von überall darauf zugreifen kann, es sollte nicht aufs LAN begrenzt sein.
 
Also für eine Unattended Installation bietet der Link ne sehr gute Übersicht: http://unattended.sourceforge.net/installers.php Ist natürlich vielleicht nicht mit jedem Installer möglich (ich denke da nur an Irfan View, welcher einen eigenen Installer mitliefert), aber der Großteil wird ja per msi oder NSIS ausgeliefert.

Der Rest... Naja. Ich würde mir wenn ein PowerShell Script basteln, damit hast du viel mehr Möglichkeiten und es funktioniert alles viel komfortabler. Außerdem hast du das .NET im Hintergrund, womit du dann im Prinzip keine Grenzen mehr hast. Mit Batch würde das ein ziemliches Gefrickel sein, wenn es überhaupt "so einfach" möglich wäre. Zusätzlich bräuchtest du dann noch Abhängigkeiten wie wget, wput, u.ä. Tools, damit es halbwegs komfortabel per Batch geht.

Machbar wäre es definitiv, du musst dir halt nur eine gute Struktur überlegen, evtl. Abhängigkeiten auflösen (Visual C++ Runtimes, .NET Framework, etc. - falls diese die Programme nicht selbst mitliefern sollten) und das wars eigentlich schon. Kannst dir ja ein Vorbild von den vielen Linux Repos nehmen und dann dein eigenes umsetzen.
 
Nimmst du dir rsync, denkst dir eine Methode aus, einen Dependency Tree zu basteln, löst den auf, fertig.
 
Zurück
Oben