Laden...

Silentinstall für beliebige Setups realisieren

Erstellt von web189 vor 13 Jahren Letzter Beitrag vor 13 Jahren 979 Views
W
web189 Themenstarter:in
15 Beiträge seit 2009
vor 13 Jahren
Silentinstall für beliebige Setups realisieren

Hallo Leute,

ich arbeite gerade an einer zentralen Softwareverwaltung für Windows 7, die im Prinzip das unter Linux bekannte Prinzip umsetzen soll.

Ziel ist dabei größtmögliche Benutzerfreundlichkeit gegenüber unerfahrenen Benutzern. Und ich möchte auf diese Weise verhindern, dass der Benutzer bei Programminstallationen mit dem Dateisystem in Kontakt kommt.

Speziell geht es mir darum, einen Silentinstaller für jedes (oder zumindest die meisten) Setup(s) zu realisieren. Ich würde also gerne eine setup.exe starten und den gesamten Installationsvorgang mit Standardeinstellungen automatisiert ablaufen lassen.

Deshalb möchte ich fremde Setups starten und diese im Hintergrund bedienen.

Der Benutzer soll dabei normal arbeiten können und die Installation optimalerweise gar nicht mitbekommen.

Gibt es eine Möglichkeit, das genannte zu realisieren?

Über Hinweise, Tipps und Anregungen würde ich mich freuen 😃

Viele Grüße,
Sebastian

1.457 Beiträge seit 2004
vor 13 Jahren

Hallo web189,

Die meisten Installer bringen die Funktionalität der Unattended Installation mit. Man muss nur wissen wie die entsprechenden Parameter aussehen. Im Internet gibt es verschieden Quellen um diese Informationen zu bekommen wie z.B. AppDeploy.com oder wenn du nach Unattend Installation suchst.

W
web189 Themenstarter:in
15 Beiträge seit 2009
vor 13 Jahren

Hallo erstmal,
danke für deine Antwort. Momentan ist auch genau das meine Lösung. Ich habe eine Tabelle, in der zu jedem Programm die entsprechenden Parameter gespeichert werden.

Doch genau das möchte ich vermeiden, da die Anzahl der Applikationen in einer Geschwindigkeit steigt, mit der ich manuell nicht mithalten kann.
Daher möchte ich diesen Prozess irgendwie automatisieren.

Viele Grüße,
Sebastian

J
1.114 Beiträge seit 2007
vor 13 Jahren

Auf MSI basierende Setups lassen sich eigentlich immer über den Parameter /quiet komplett im Hintergrund installieren. Dabei werden aber lediglich die Standardoptionen gewählt, sprich, es ist z.B. nicht möglich den Installationspfad während der Installation anzupassen.

MSI Setups lassen sich allerdings relativ leicht mittels dem Orca MSI Editor anpassen, so dass speziellen Parameter somit trotzdem per default gesetzt werden können. Es ist in der Praxis tatsächlich meistens so, dass in Firmennetztwerken die Installationspakete so angepasst werden müssen.

Aber dein Projektvorhaben klingt sehr interessant. Ich hab mir auch schon einige Gedanken über eine solche Softwareverteilung gemacht. Ich kam aber noch nicht dazu, es umzusetzen. Lediglich die Architektur hab ich definiert.

Hast du schon ein paar Details, wie du das Ganze umsetzen willst, bzw. handelt es sich überhaupt um ein Projekt das später auch von anderen Usern genutzt werden kann.

W
web189 Themenstarter:in
15 Beiträge seit 2009
vor 13 Jahren

Der grobe Plan sieht bisher so aus:

Es gibt eine Datenbank, in der alle relevanten Daten über die verfügbare Software gespeichert werden. Angeboten werden nur Programme, die bestimmte Kriterien hinsichtlich Qualität und Stabilität erfüllen.
Im Hintergrund läuft ein Service, der mit Hilfe eines Webcrawlers periodisch überprüft, ob für die eingetragenen Programme neue Versionen verfügbar sind. Im wesentlichen werden dabei Webseiten ausgelesen, von denen ich eine entsprechende Erlaubnis habe. Darunter sind beispielsweise Wikipedia (zum erkennen der aktuellesten Softwareversion) und Chip.de.
Aus den gewonnenen Informationen wird eine Liste von Programmen erstellt, die ein Update benötigen. Auf einer Freischaltseite habe ich dann die Möglichkeit, die neu erschienenen Versionen zu prüfen und alle ungültigen auszusortieren. Das ist beispielsweise nötig, wenn der Crawler Beta-Versionen erkennt oder falsche Links anbietet.

Nachdem ich dann alle Informationen validiert habe, wird der Crawler beim nächsten Durchlauf die neuen Programme auf meinen Server laden und ggf. Einträge in der Datenbank aktualisieren.

Der Benutzer öffnet einfach den Client und wählt das gewünschte Programm - dieses wird dann Hintergrund geladen und installiert (Der Benutzer muss dabei nicht eingreifen, er bekommt lediglich einen Fortschrittsbalken mit Informationen zum aktuellen Status zu sehen).

Die ursprünglichen Dateien stammen wie gesagt von Chip.de, weshalb ich keinen Einfluss auf das Setup habe. Natürlich könnte ich diese im Nachhinein auseinandernehmen, aber das wollte ich eigentlich vermeiden. Wobei es am Ende eine Frage des Aufwands ist - meine Idee ist scheinbar auch nicht ohne weiteres realisierbar.

Auf http://www.greifenblog.tk/ gibt es in der passenden Kategorie ein Video zur aktuellen Version des Clients (nicht zuviel erwarten, habe nicht viel Zeit in die Seite und das Video investiert).

Der Crawler hat derzeit noch einige Macken und auch dem Client fehlen noch einige Features.

Im Großen und Ganzen funktioniert alles, nur es läuft noch nicht rund genug.

Ich hoffe, ich konnte dir einen kleinen Einblick geben. Bitte entschuldige evtl. existierende Rechtschreib- Grammatikfehler, ich bin gerade auf der Arbeit und kann meine Posts nur grob überfliegen.

EDIT: Direkter Link zum Video: http://www.youtube.com/watch?v=8Y-k5eWScDQ&feature=player_embedded

EDIT2: Ob das Ganze jemals für die Öffentlichkeit bereit stehen wird, ist für mich noch nicht absehbar. Es gibt noch zu viele Dinge, die vorher geklärt werden müssten. Für ich ist es aktuell ein Hobbyprojekt um "fit zu bleiben".

Viele Grüße,
Sebastian

J
1.114 Beiträge seit 2007
vor 13 Jahren

Dein Projekt ist in der Tat sehr interessant, und ähnelt in der Vorgehensweise in gewissen Punkten meinen Ideen. Irgendwie gibt es halt für Problemstellungen meist keine 100 unterschiedliche Lösungen. Abweichungen zu deinem Konzept gibt es bei dennoch einige, die ich nicht vorenthalten will... Vielleicht hilft es dir ja auch an einigen Stellen.

Dabei ist aber bei meinem Projekt zu erwähnen, dass es sich bei mir ausschliesslich um zentrale Softwaredistribution in Windows Active Directory Domänen gehen soll, und dabei in der Regel nicht um Standardsoftware sondern um hauseigene. Insbesondere sollen bei mir die Updates an den Clients gewährleistet sein.

Parallelen:*Speichern der Pakete in einer Datenbank *Einheitliche Bedienung für alle Installationen *Windows Dienst am Client der die Installation durchführt

Abweichungen bzw. weitere Funktionen:*Kein Webcrawler, sondern ein WCF Client der sich mit dem Server verbunden hält, und über Callbacks benachrichtigt werden kann *Es lassen sich nicht nur Installationen durchführen, sondern auch direkt andere Aktionen durchführen (FileCopy,RegistryEinträge, Eventlog Einträge... um nur ein paar zu nennen). Somit sind theoretisch auch Installationen möglich ohne eigenes Setup (was bei uns teilweise der Fall ist) *Die genannten Operationen müssen sich sowohl Hostspezifisch und Userspezifich durchführen. Einige Operationen müssen nun mal im Kontext des eingeloggten Benutzers ablaufen. Diese Operationen dürfen natürlich keine Admin Rechte benötigen *Zentrale Installationen an angeschlossenen Clients nach bestimmten Kriterien. nicht jede Software soll auf jedem Rechner zur Verfügung stehen *Serverseitig getriggerte Installationen im Background an den Clients *Clientseitige manuelle Installation durch einfache Auswahl der Sofwtare aus der ihm zur Verfügung stehenden Liste. Die Installation soll auch durch normale User durchgeführt werden können. Ich möchte diese Funktionalität als Art "Software Shop" anbieten *Patchverteilung um Netzlast zu minimieren. somit werden nur Dateien aktualisiert, die geändert haben bei einem Update.

Nur bin ich leider z.Z. erst beim Konzept. Die verschieden Schichten sind definiert, aber noch nicht implementiert. Ich komm einfach nicht in die Gänge das Ganze zu realisieren bedingt durch Zeitmangel hauptsächlich. Aber vielleicht sind noch ein paar interessante Punkte dabei, an denen du eventuel auch interessiert bist.