Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Manifest-Datei für SW von Drittanbieter erstellen? (https://www.delphipraxis.net/175447-manifest-datei-fuer-sw-von-drittanbieter-erstellen.html)

Caps 21. Jun 2013 11:58

Manifest-Datei für SW von Drittanbieter erstellen?
 
Guten Tach,

die Frage kommt mir dumm vor, aber ich stelle sie trotzdem (natürlich habe ich MSDN und Google vorher befragt ;-)).

Kann ich eine .manifest-Datei für ein Programm eines Drittanbieters erstellen?
Es geht darum, dass der Elevation-Dialog aufpoppen soll, wenn die SW des Drittanbieters gestartet wird. Es ist nämlich vorgekommen, dass die SW sich unter einem eingeschränkten W7-Account nicht ausführen lies mit der Meldung "Sie müssen als Administrator angemeldet sein, um den Vorgang fortzusetzen" (o.s.ä.) - es kam aber kein Passwort-Dialog. Nun ist das blöd für den Kunden, wenn er sich extra ausloggen oder den Account wechseln, die SW starten (es ist ein Installer), die Installation durchlaufen und hinterher wieder in den ursprünglichen Benutzer zurückkehren muss.

Meine Frage ist also: wie bringe ich Vista, W7 oder W8 dazu, auf jeden Fall den Elevation-Dialog anzuzeigen, wenn die Drittanbieter-SW gestartet wird?

lg Caps


Edit: ich hab natürlich schon eine Manifest-Datei erstellt, die für "meine" EXE auch funktioniert hat, für die "fremde" EXE jedoch nicht. Die notwendigen Inhalte und den Namen des Manifests habe ich natürlich angepasst. Ich hab das Ding mit himitsus ManifestCreator erstellt - schönes Teil nebenbei! :-)

Bernhard Geyer 21. Jun 2013 12:29

AW: Manifest-Datei für SW von Drittanbieter erstellen?
 
Falls es eine Linkdatei ist einfach in den (Erweiterten) Eigenschaften die Option "Als Administrator ausführen" aktivieren.

Caps 21. Jun 2013 12:31

AW: Manifest-Datei für SW von Drittanbieter erstellen?
 
Danke für die Antwort!
Es ist aber eine EXE. Reicht es, wenn ich eine Link-Datei erstelle, mit dem angekreuzten Admin-Häkchen, die auf die EXE verweist?

Edit:
Ich habe das Problem nämlich nicht reproduzieren können, d.h. auf meiner W7-Workstation poppt der Dialog immer auf, unabh. v. Manifest oder ähnlichem.

Bernhard Geyer 21. Jun 2013 12:40

AW: Manifest-Datei für SW von Drittanbieter erstellen?
 
Zitat:

Zitat von Caps (Beitrag 1219357)
Danke für die Antwort!
Es ist aber eine EXE. Reicht es, wenn ich eine Link-Datei erstelle, mit dem angekreuzten Admin-Häkchen, die auf die EXE verweist?

Ja.

Zitat:

Zitat von Caps (Beitrag 1219357)
Edit:
Ich habe das Problem nämlich nicht reproduzieren können, d.h. auf meiner W7-Workstation poppt der Dialog immer auf, unabh. v. Manifest oder

Ist auf dem Problem-PC überhaupt die UAC aktiv?

jaenicke 21. Jun 2013 12:43

AW: Manifest-Datei für SW von Drittanbieter erstellen?
 
Zitat:

Zitat von Caps (Beitrag 1219357)
Edit:
Ich habe das Problem nämlich nicht reproduzieren können, d.h. auf meiner W7-Workstation poppt der Dialog immer auf, unabh. v. Manifest oder ähnlichem.

Deaktiviere mal testweise deine UAC (am besten auf einem Testrechner), wahrscheinlich war da wer so dämlich das zu machen... dann funktioniert das teilweise ein wenig anders.

Damit hatte ich an anderer Stelle schon Ärger...

Caps 21. Jun 2013 12:48

AW: Manifest-Datei für SW von Drittanbieter erstellen?
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1219358)
Zitat:

Zitat von Caps (Beitrag 1219357)
Danke für die Antwort!
Es ist aber eine EXE. Reicht es, wenn ich eine Link-Datei erstelle, mit dem angekreuzten Admin-Häkchen, die auf die EXE verweist?

Ja.

Und dann die EXE direkt starte und nicht "den Link"? Sorry ;-).

Zitat:

Zitat von Bernhard Geyer (Beitrag 1219358)
Zitat:

Zitat von Caps (Beitrag 1219357)
Edit:
Ich habe das Problem nämlich nicht reproduzieren können, d.h. auf meiner W7-Workstation poppt der Dialog immer auf, unabh. v. Manifest oder

Ist auf dem Problem-PC überhaupt die UAC aktiv?

Ist mir momentan leider nicht bekannt - sicher ist aber, dass, als ich auf meinem W7 den UAC-Regler ganz nach unten gezogen hab, auch unter dem eingeschränkten Konto überhaupt keine Abfrage mehr kam, sondern der Installer sich einfach starten ließ - die unterschiedlichen anderen UAC-Level hab ich noch nicht ausprobiert, aber ich versuche seit heute früh den Typen ranzukriegen, bei dem das Problem auftrat... naja... ;-)

Bernhard Geyer 21. Jun 2013 12:52

AW: Manifest-Datei für SW von Drittanbieter erstellen?
 
Zitat:

Zitat von Caps (Beitrag 1219363)
Zitat:

Zitat von Bernhard Geyer (Beitrag 1219358)
Zitat:

Zitat von Caps (Beitrag 1219357)
Danke für die Antwort!
Es ist aber eine EXE. Reicht es, wenn ich eine Link-Datei erstelle, mit dem angekreuzten Admin-Häkchen, die auf die EXE verweist?

Ja.

Und dann die EXE direkt starte und nicht "den Link"? Sorry ;-).

Nö. Es muss schon der Link vom User verwendet werden. Wie soll sonst die Einstellung wirken?
Oder willst du die Exe von deinem Programm aus starten?

Caps 21. Jun 2013 12:54

AW: Manifest-Datei für SW von Drittanbieter erstellen?
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1219364)
Zitat:

Zitat von Caps (Beitrag 1219363)
Zitat:

Zitat von Bernhard Geyer (Beitrag 1219358)
Zitat:

Zitat von Caps (Beitrag 1219357)
Danke für die Antwort!
Es ist aber eine EXE. Reicht es, wenn ich eine Link-Datei erstelle, mit dem angekreuzten Admin-Häkchen, die auf die EXE verweist?

Ja.

Und dann die EXE direkt starte und nicht "den Link"? Sorry ;-).

Nö. Es muss schon der Link vom User verwendet werden. Wie soll sonst die Einstellung wirken?
Oder willst du die Exe von deinem Programm aus starten?

So soll es gemacht werden, ja. Im Rahmen eines Installationsprozesses soll der Installer vom Drittanbieter ausgeführt werden.

Edit: Ich könnte den Link doch auch programmatisch ausführen...?

Dalai 21. Jun 2013 13:02

AW: Manifest-Datei für SW von Drittanbieter erstellen?
 
Darf man fragen, warum der bzw. dein Installer keine Adminrechte verlangt/braucht?

MfG Dalai

Caps 21. Jun 2013 13:38

AW: Manifest-Datei für SW von Drittanbieter erstellen?
 
Den hab ich nicht erstellt; ich glaube der braucht Admin-Rechte. Im aktuellen Fall ist es nur ein monatliches Update, was normalerweise keine Systemeinstellungen ändert, sondern nur die Programmdateien selbst und die Datenbank - wofür normalerweise keine Adminrechte benötigt werden. Beim aktuellen Update soll aber ein Installer ausgeführt werden, und dafür sind dann Adminrechte nötig.

Caps 21. Jun 2013 14:49

AW: Manifest-Datei für SW von Drittanbieter erstellen?
 
Also um die Frage nochmal zuzuspitzen, zu konkretisieren und dem Titel anzugleichen:

Fakten:
1) Ich habe eine meine.exe und eine fremde.exe .
2) Ich habe weiterhin eine meine.exe.manifest und eine fremde.exe.manifest (habe ich erstellt).
3) Windows verarbeitet die meine.exe.manifest korrekt.
4) Windows verarbeitet die fremde.exe.manifest nicht.

Was kann ich tun, damit 4) behoben wird?

lg Caps

Dalai 21. Jun 2013 14:51

AW: Manifest-Datei für SW von Drittanbieter erstellen?
 
Zitat:

Zitat von Caps (Beitrag 1219370)
Im aktuellen Fall ist es nur ein monatliches Update, was normalerweise keine Systemeinstellungen ändert, sondern nur die Programmdateien selbst und die Datenbank - wofür normalerweise keine Adminrechte benötigt werden.

Das heißt, jeder Dahergelaufene darf die Programmdateien manipulieren?

MfG Dalai

Caps 21. Jun 2013 14:56

AW: Manifest-Datei für SW von Drittanbieter erstellen?
 
Zitat:

Zitat von Dalai (Beitrag 1219380)
Zitat:

Zitat von Caps (Beitrag 1219370)
Im aktuellen Fall ist es nur ein monatliches Update, was normalerweise keine Systemeinstellungen ändert, sondern nur die Programmdateien selbst und die Datenbank - wofür normalerweise keine Adminrechte benötigt werden.

Das heißt, jeder Dahergelaufene darf die Programmdateien manipulieren?

MfG Dalai

Klar, ich kann auch mein Office manipulieren, wenn es auf meinem Rechner installiert ist. Warum auch nicht?

Bernhard Geyer 21. Jun 2013 14:56

AW: Manifest-Datei für SW von Drittanbieter erstellen?
 
Zitat:

Zitat von Caps (Beitrag 1219370)
Beim aktuellen Update soll aber ein Installer ausgeführt werden, und dafür sind dann Adminrechte nötig.

Wie startest du den externen Installer? Per CreateProcess oder ShellExecute?

Caps 21. Jun 2013 15:00

AW: Manifest-Datei für SW von Drittanbieter erstellen?
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1219383)
Zitat:

Zitat von Caps (Beitrag 1219370)
Beim aktuellen Update soll aber ein Installer ausgeführt werden, und dafür sind dann Adminrechte nötig.

Wie startest du den externen Installer? Per CreateProcess oder ShellExecute?

Das muss ich erst in Erfahrung bringen, das mache ich nicht selbst... sorry.

Dalai 21. Jun 2013 15:02

AW: Manifest-Datei für SW von Drittanbieter erstellen?
 
Zitat:

Zitat von Caps (Beitrag 1219382)
Klar, ich kann auch mein Office manipulieren, wenn es auf meinem Rechner installiert ist. Warum auch nicht?

Und das schaffst du ohne Adminrechte wie genau? Es geht doch genau darum: Installationen und Änderungen am System sind einem Admin vorbehalten. Das hat nicht nur was damit zu tun, dass es Leute gibt, die meinen, überall rumfummeln zu müssen, sondern auch damit, dass es Malware gibt (geben kann), die Programmdateien bestehender Programme manipulieren kann.

MfG Dalai

Caps 21. Jun 2013 15:10

AW: Manifest-Datei für SW von Drittanbieter erstellen?
 
Zitat:

Zitat von Dalai (Beitrag 1219386)
Zitat:

Zitat von Caps (Beitrag 1219382)
Klar, ich kann auch mein Office manipulieren, wenn es auf meinem Rechner installiert ist. Warum auch nicht?

Und das schaffst du ohne Adminrechte wie genau? Es geht doch genau darum: Installationen und Änderungen am System sind einem Admin vorbehalten. Das hat nicht nur was damit zu tun, dass es Leute gibt, die meinen, überall rumfummeln zu müssen, sondern auch damit, dass es Malware gibt (geben kann), die Programmdateien bestehender Programme manipulieren kann.

MfG Dalai

Richtig, ich kann mein Office nicht manipulieren, vermutlich weil es im Programme-Ordner liegt. Unsere Anwendung hat aber schon mehrere Windows-Generationen überlebt und wird daher (leider immernoch) in einem beliebigen Verzeichnis installiert, also z.B. C:\NAME, und da wacht Windows nicht drüber, sondern da kann jeder drin herumfuhrwerken, leider.
Jetzt kann man über den Aufwand reden usw., das ist alles klar - nur ich stehe vor einem konkreten Problem und brauche eine Lösung (mein Chef braucht die Lösung), und diese Lösung kann leider nicht in einer Änderung des Designs liegen, sondern höchstens in einem Flicken. Sorry :-).

Bernhard Geyer 21. Jun 2013 15:13

AW: Manifest-Datei für SW von Drittanbieter erstellen?
 
Zitat:

Zitat von Caps (Beitrag 1219385)
Zitat:

Zitat von Bernhard Geyer (Beitrag 1219383)
Zitat:

Zitat von Caps (Beitrag 1219370)
Beim aktuellen Update soll aber ein Installer ausgeführt werden, und dafür sind dann Adminrechte nötig.

Wie startest du den externen Installer? Per CreateProcess oder ShellExecute?

Das muss ich erst in Erfahrung bringen, das mache ich nicht selbst... sorry.

Ist aber wichtig:

CreateProcess -> Gestartete Exe erbt Rechte von Aufrufender Exe
ShellExecute -> ohne "runas" - Windows entscheidet ob mit UAC oder nicht
mit "runas" - UAC wird forciert.

Caps 21. Jun 2013 15:19

AW: Manifest-Datei für SW von Drittanbieter erstellen?
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1219391)
Zitat:

Zitat von Caps (Beitrag 1219385)
Zitat:

Zitat von Bernhard Geyer (Beitrag 1219383)
Zitat:

Zitat von Caps (Beitrag 1219370)
Beim aktuellen Update soll aber ein Installer ausgeführt werden, und dafür sind dann Adminrechte nötig.

Wie startest du den externen Installer? Per CreateProcess oder ShellExecute?

Das muss ich erst in Erfahrung bringen, das mache ich nicht selbst... sorry.

Ist aber wichtig:

CreateProcess -> Gestartete Exe erbt Rechte von Aufrufender Exe
ShellExecute -> ohne "runas" - Windows entscheidet ob mit UAC oder nicht
mit "runas" - UAC wird forciert.

Ok danke, ich hab's mal weitergeleitet...
Blöd an "runas" ist meiner Meinung nach, dass man einen Administrator-Username angeben muss - aber bei 500 Kunden mit 500 Rechnern ist die Frage ob man da raten soll, oder was :-D
Man kann wohl nicht angeben "Benutzer aus der Gruppe der Administratoren", gel? Das hab ich jedenfalls nicht als Schalter für runas gefunden. Dann gibt es da den Schalter /trustlevel, aber für /trustlevels wird nur (Standardbenutzer) angegeben, wobei ich mir auch nicht klar bin, ob das die richtige Ecke zum Suchen ist...

jaenicke 21. Jun 2013 15:39

AW: Manifest-Datei für SW von Drittanbieter erstellen?
 
Zitat:

Zitat von Caps (Beitrag 1219392)
Blöd an "runas" ist meiner Meinung nach, dass man einen Administrator-Username angeben muss - aber bei 500 Kunden mit 500 Rechnern ist die Frage ob man da raten soll, oder was :-D
Man kann wohl nicht angeben "Benutzer aus der Gruppe der Administratoren", gel?

Ich glaube du verwechselst das Verb runas für ShellExecute mit dem Kommandozeilenbefehl runas. :wink:

Caps 21. Jun 2013 15:48

AW: Manifest-Datei für SW von Drittanbieter erstellen?
 
Eieiei... hast Recht, tschuldigung, Freitag halb fünf...:oops:

zeras 22. Jun 2013 08:23

AW: Manifest-Datei für SW von Drittanbieter erstellen?
 
Bei uns in der Firma ist UAC auch zeitweise abgeschaltet worden. Seitdem kann man zwar mit dem rechten Mausklick "Als Admin ausführen" starten, aber eine Abfrage kommt nicht und das Programm macht nicht das, was es soll.

jaenicke 22. Jun 2013 12:40

AW: Manifest-Datei für SW von Drittanbieter erstellen?
 
Zitat:

Zitat von zeras (Beitrag 1219427)
Bei uns in der Firma ist UAC auch zeitweise abgeschaltet worden. Seitdem kann man zwar mit dem rechten Mausklick "Als Admin ausführen" starten, aber eine Abfrage kommt nicht und das Programm macht nicht das, was es soll.

Ja, das kenne ich...
Es ist halt in 99% der Fälle eine Schnapsidee die UAC abzuschalten. Leider haben das viele selbsternannte Experten in irgendwelchen Schmierblättchen, die sich selbst Fachzeitschriften nennen, gelesen als Vista rauskam und sind dabei geblieben obwohl diese Blättchen fast alle im Laufe der Zeit das Gegenteil geschrieben haben...


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:34 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz