Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Eigene Anwendung mit "Ausführen Als" Starten (https://www.delphipraxis.net/146457-eigene-anwendung-mit-ausfuehren-als-starten.html)

SonicTTH 20. Jan 2010 10:23


Eigene Anwendung mit "Ausführen Als" Starten
 
Hallo,

Ich habe einen Installer für mein Spiel erstellt und habe bereits herausgefunden dass die aufforderung zur verwendung von Administratorrechten bei Vista / Windows 7 (UAC) allein durch den Substring "Setup", "Install" oder "Installer" beim ausführen erscheint. Allerdings ist dies bei Windows XP, welches sicherlich das noch am meißten vorzufindende Betriebssystem ist, nicht der fall. Dort kann ich bis jetzt dem user nur mit einer Dialogbox begegnen, in welcher ich ihm sage, er möchte bitte das Programm mit Administratorrechten starten.

Nun gibt es ja diesen Nützlichen Dienst der da "Sekundäre Anmeldung" heißt und mit welchem es möglich ist, z.b. Per Rechtsklick und "Ausführen als..." einen Administratorbenutzer auszuwählen und unter angabe des Passwortes das gewünschte Programm mit erhöhten rechten zu starten. Ich habe mich bereits umgehört, allerdings nichts wirklich brauchbares dazu gefunden wie man das unter Delphi machen könnte, nach folgendem pseudocode:

---------

Programm Starten
Prüfen ob Benutzer Administratorrechte besitzt
Falls Nein dann:
"Ausführen Als..." Dialog (der Sekundären Anmeldung) generieren und programm damit erneut starten lassen
Dieses Programm Schließen.

---------

Und es geht für mich wirklich nur so (unter verwendung des "Ausführen Als..." Dialogs der Sekundären Anmeldung) und nicht dass man sich selber ein Formular bastelt dass nach benutzernamen und passwort fragt (Wie das shell kommando "RUNAS" es erfordern würde. Das wäre unseriös.

Also: Hat jemand eine Methode mit der man das einfach machen kann?

Grüße,
Sonic

hugo1990 20. Jan 2010 10:53

Re: Eigene Anwendung mit "Ausführen Als" Starten
 
Wie wäre es, wenn du einfach dafür sorgst, dass dein Spiel keine Administratorrechte benötigt. Ich mag solche Programme eh nicht, die ohne besonderen Grund Adminrechte verlangen, da sich bei solchen Programmen meiner Meinung nach in wenigstens 90 % aller Fälle nicht an gewisse Konventionen gehalten wurde.
Schau dir dein Programm einfach mal an, warum es überhaupt Adminrechte benötigt und versuch dies mit einer anderen Lösung zu umgehen. Hast du vielleicht Schreibzugriffe auf den Programmordner, für solche Sachen gibt es zum Beispiel Ordner wie AppData, in denen man Programmeinstellungen etc. speichern kann.

hoika 20. Jan 2010 11:12

Re: Eigene Anwendung mit "Ausführen Als" Starten
 
Hallo,

wie ich es verstanden habe, geht es doch um den Installer ?

Ich würde da gar keine grossen Sachen machen.

Info "Installation als Admin" sollte doch reichen.

Wir wissen doch fast ( ;) ) alle,
das Programme als Admin installiert werden müssen.



Heiko

hugo1990 20. Jan 2010 11:26

Re: Eigene Anwendung mit "Ausführen Als" Starten
 
Gut das mit dem Installer muss ich wohl überlesen haben und dann muss ich mich dem anschließen, was mein Vorredner gesagt hat. Es sollte wohl allgemein bekannt sein, dass man zum Installieren von Anwendungen Adminrechte benötigt.
Das passiert halt, wenn man beim surfen nebenbei noch arbeitet.

Aber um Installer zu erstellen gibt es doch fertige Tools wie NSIS oder InnoSetup, die sollten doch so etwas für dich übernehmen.

RWarnecke 20. Jan 2010 12:24

Re: Eigene Anwendung mit "Ausführen Als" Starten
 
Wenn Du unbedingt keine MessageBox haben willst, wo drinsteht, dass das Setup als Admin ausgeführt werden soll, könnte der Link Dir da vielleicht weiterhelfen.

SonicTTH 20. Jan 2010 23:08

Re: Eigene Anwendung mit "Ausführen Als" Starten
 
@ hugo: Ja also eine bereits installierte anwendung wie z.b. ein spiel als admin ausführen zu müssen finde ich auch echt bescheuert ^^

@ hoika: Jo klar, wir wissen das. Aber was meinst du wie viele menschen da draußen sind die das nicht wissen? ^^ Naja, ich könnte ja ersatzweise bei der meldung, dass das setup als admin ausgeführt werden soll auch noch einen weiteren dialog anbieten, der eine kleine anleitung enthält, wie man dies denn tut. Ich denke mal das geht.

@ RWarnecke: Nuja, ich hab nich so probleme mit ner messagebox, ich finde nur den comfort etwas besser direkt so einen ausführen als dialog angeboten zu bekommen, als eine meldung "Du musst admin sein." am besten noch mit dem original Windows XP Fehlerton "DONK" dazu ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:46 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