Konzept für Problem gesucht

14/08/2009 - 14:01 von Michael Kolowicz | Report spam
hallo,

einige der "stàndigen" Leser werden die Frage vielleicht wieder
erkennen.

Es geht um folgendes Problem:

Ich möchte die Software Unnattend-GUI zur Softwareverteilung verwenden.

Nach Rücksprache mit dem Entwickler der Anwendung bekam ich die
Auskunft, das ein Software-Lifecycle nicht ganz die Idee war. Bei ihm
wird die Softwareinstalltion als Admin gemacht und dann wird der Rechner
ausgeliefert ohne Adminrechte. Wenn dann Software nachinstalliert werden
soll, dann mit Hilfe von RunAs oder der Benutzer bekommt vorrübergehend
Admin-Rechte, die ihm danahc wieder entzogen werden.

Ich möchte aber eine "feine" Lösung bauen: Einen Windows-Dienst, der das
ganze erledigt.

Ich habe schon extreme Fortschritte gemacht nur anscheinend scheint mein
Konzept nicht aufzugehen, denn als "normaler" Benutzer fuinktioniert das
ganze nicht.

Normalfall:
Angemeldeter Benutzer ist lokaler Admin. Gestartet wird die datei
wemerge.cmd mit einem entsprechenden Parameter (install oder updates)

Beschreibung (stark vereinfacht):
Der Dienst startetet als lokaler Administrator einen Timer. Wenn dieser
abgelaufen ist, wird per Process.Start ein Agent gestartet (làuft dann
auch als lokaler admin).

Dieser kopiert eine datei vom server nach lokal (wemerge.cmd)

Wemerge beinhaltet die Auswertung von den Parametern, die man mit
gegeben hat. Je nach dem , was der benutzer als Parameter mitgegeben
hat, wird eine Anfrage an einen webseite gemacht, die einen
Textzurückgibt. Dieser text wird als Batch-Datei gespeichert. nachdem
die datei gespeicher wurde (sie enthàlt die Befehle zum installieren der
für den Rechner bestimmten Anwendungen: "setup.exe /silent" oder
"msiexec /i setup.msi /qb" usw.) . Startet wemerge per "call
runbatch.cmd" diese Befehle

Nachteil: Wenn die WEMERGE.CMD so startet, dann wird die Anwendung zwar
installiert, aber nicht im Kontext des Benutzers. Ich bràuchte sowas wie
"RunAs /u:administrator "wemerge.cmd -install"" oder so.

Die Lösung mit dem Dienst will ich haben, da es ja auch Software gibt,
die Systemmàßig installiert wird, wie z.b. die Windows-Updates. Da
könnet der Service auch installieren, wenn kein Benutzer angemeldet ist.
Ist aber jemand angemeldet, dann soll er zwar als Benutzer installieren,
aber mit den Rechten des Admin

Viele "große" softwareverteilungssystem können dass (enteo Netinstall
z.b.). wie wird so was umgesetzt? Wie ist das Konzept? Was làuft wann
und unter welchem Benutzer? Benutzt man eher Start.Process,
Impersonation oder CreateProcessWithLogonW?

Vielleicht kann mir jemand da mal auf die Sprünge helfen?

Vielen Dank im Vorraus
Michael
 

Lesen sie die antworten

#1 AyrA
14/08/2009 - 14:13 | Warnen spam
Michael Kolowicz schrieb

... runbatch.cmd" diese Befehle ...




Warum eine Batch datei Herunterladen und starten?
Ich würde die Datei herunterladen, einlesn und die
"Setup" Zeile mit process.Start ausführen lassen.

AyrA

http://ayra.ch
Everything you need that your IT hates you!
SSL supported:
https://ayra.ch
about 10 pr0xys, a Batch Creator and a Dial up Simulator

Ähnliche fragen