Autor Beitrag
Tastaro
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 408
Erhaltene Danke: 23



BeitragVerfasst: Mo 22.01.18 15:46 
Hallo,

ich habe einen WebService, der auf ein Kommando hin eine Setup.exe starten soll, die ein Delphi-Programm aktualisiert.

Das Problem ist jetzt nicht das Ausführen einer .exe, sondern eher die Frage, wie ich das hinbekomme, ohne dass das nochmal manuell bestätigt werden muss.
Der Service läuft auf einem embedded PC, der verbaut und nur schwer zugänglich ist.
Hat da jemand eine Idee?
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4063
Erhaltene Danke: 843

Win7
C++, C# (VS 2015/17)
BeitragVerfasst: Di 23.01.18 10:33 
Die meisten Setup-Programme bieten einen /quiet-Modus an. Such auch einfach mal nach "silent installation" für das verwendete Setup-Programm...

Für diesen Beitrag haben gedankt: Tastaro
Tastaro Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 408
Erhaltene Danke: 23



BeitragVerfasst: Di 23.01.18 11:29 
Das kenne ich.
Aber was ist mit den Abfragen der UAC? Kann man die übergehen?
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4434
Erhaltene Danke: 909


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Di 23.01.18 12:13 
Zitat:
Aber was ist mit den Abfragen der UAC? Kann man die übergehen?


Im allgemeinen hoffentlich nicht ;)

Es kommt ein wenig darauf an was das für ein setup ist. Ein msi unterliegt besonderen Regeln und da kommt man manchmal um den UAC rum.
Die nächste Einschränkung wäre dann unter welchem User das setup ausgeführt wird. Das Verhalten von UAC und MSI's könnte man dann per GroupPolicies für diesen User ändern.

Wenn das Setup über einen Webservice ausgeführt werden soll wird das aber merkwürdig. Klingt für mich als würdest du dann denn Webservice unter einem Admin Account laufen lassen wollen was gefährlich klingt. So ein Update über ein Webservice sollte maximal Dateien austauschen können. Und das unter einem bestimmten User der auch nur Zugriff auf das Verzeichnis hat wo diese Dateien rumliegen. Ein echtes Setup das an UAC vorbeikommt hat dan annähernd Zugriff auf das gesamte System und das klingt nach einem Securityscheunentor das man nicht aufmachen sollte.

Für diesen Beitrag haben gedankt: Tastaro
Tastaro Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 408
Erhaltene Danke: 23



BeitragVerfasst: Di 23.01.18 15:13 
Es gab die Anforderung die Updates über den Webservice zu machen. Da ich keine Idee hatte, ob und wie man das machen kann, hab ich mal gefragt.
Mir gefällt das auch nicht. Ich hatte gehofft, dass es eine praktikable Lösung gibt.

Der Webservice hat natürlich keine Adminberechtigung. Ich muss wohl noch hinzufügen, dass er nicht aus dem Internet zu erreichen ist, sondern nur von einem PC im LAN aus. Das ist hardwaremäßig über eine dedizierte Ethernetverbindung mit eigener Netzwerkkarte realisiert.
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4063
Erhaltene Danke: 843

Win7
C++, C# (VS 2015/17)
BeitragVerfasst: Mi 24.01.18 12:53 
user profile iconTastaro hat folgendes geschrieben Zum zitierten Posting springen:
Aber was ist mit den Abfragen der UAC? Kann man die übergehen?

Für ein anderes Programm wurde How To Use The Task Scheduler To Launch Programs Without UAC Prompts als Tipp angegeben - ich habe es selber aber noch nicht ausprobiert (du müßtest dann schauen, wie du aus deinem WebService heraus den Shortcut oder aber direkt eine Task starten kannst).

Die Bedenken von user profile iconRalf Jansen solltest du aber mitbetrachten.

Für diesen Beitrag haben gedankt: Tastaro