Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Tutorials und Kurse (https://www.delphipraxis.net/36-tutorials-und-kurse/)
-   -   Delphi [Vista / UAC] Programm mit Adminrechten starten (https://www.delphipraxis.net/110066-%5Bvista-uac%5D-programm-mit-adminrechten-starten.html)

GPRSNerd 14. Jul 2009 12:18

Re: [Vista / UAC] Programm mit Adminrechten starten
 
Hi,

Danke für das gute Tutorial und die hilfreichen Anmerkungen im Thread.

Ich starte jetzt zum Setzen von Kontextmenu-Einträgen im Explorer [liegen unter HKEY_CLASSES_ROOT] eine Helper-Applikation mit dem Manifest zur Anfrage von Admin-Rechten.
Funktioniert unter Windows 7 RC einwandfrei.

Danke,
Stefan

Micha88 22. Feb 2011 18:13

AW: [Vista / UAC] Programm mit Adminrechten starten
 
ich habe alles genau so gemacht. Unter Windows 7 Home Premium funktioniertes nicht.

soundmaun 25. Feb 2012 14:41

AW: [Vista / UAC] Programm mit Adminrechten starten
 
:-D Haut hin! THX!

Andreas Schilling 2. Jul 2013 15:06

AW: [Vista / UAC] Programm mit Adminrechten starten
 
Windows 7 Prof., Delphi 2007

Also bei mir will es einfach nicht funktionieren. Die erzeugte .res-Datei wird eingebunden (erkennt man daran, das das Programm-Icon weg ist).

Hier der Inhalt der res-datei
Delphi-Quellcode:
        ÿÿ  ÿÿ                  ]     ÿÿ ÿÿ     0         <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <assemblyIdentity
    type="win32"
    name="Update"
    version="1.0.0.2"
    processorArchitecture="*"/>
  <dependency>
     <dependentAssembly>
        <assemblyIdentity
          type="win32"
          name="Microsoft.Windows.Common-Controls"
          version="6.0.0.0"
          publicKeyToken="6595b64144ccf1df"
          language="*"
          processorArchitecture="*"/>
      </dependentAssembly>
  </dependency>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel
          level="requireAdministrator"
          uiAccess="false"/>
        </requestedPrivileges>
      </security>
    </trustInfo>
  </assembly>
Wenn ich das Programm als User mit Adminrechten starte kann ich machen was ich will (in INI Schreiben usw.). Wenn ich als eingeschränkter User (nur Lokaler User) arbeite kommt beim Start keine Abfrage von der UAC (obwohl ich die höchste Stufe eingestellt habe) und das Programm macht dann nichts von dem was es machen soll (z.B. Speichern von Dateien im Ordner C:\progam files (x86)\...). Ist die res-datei noch nicht das was sie sein soll? Oben steht man soll die res-Datei hinter
Delphi-Quellcode:
{$R *.dfm}
ins Projekt einbinden. Aber in der *.dpr gibt es den Eintrag nicht, nur auf dem Formular.

Gruß Andreas

WM_CLOSE 2. Jul 2013 16:12

AW: [Vista / UAC] Programm mit Adminrechten starten
 
Es sieht so aus, als ob du das Dokument als ANSI gespeichert hast, aber im xml ist encoding=utf-8 angegeben.
Vielleicht mal einen anderen Editor benutzen? [GOOGLE]Notepad++[/GOOGLE].

Andreas Schilling 3. Jul 2013 07:46

AW: [Vista / UAC] Programm mit Adminrechten starten
 
Nach dem Speichern mit Notepad sieht der Inhalt der res-datei zwar nicht anders aus, aber nach dem Compilieren hat die Exe dieses nette Sicherheitssymbol und es kommt jetzt die Anforderung der Adminrechte. Das Krönung des ganzen wäre jetzt noch wenn ich wieder mein Programmicon rein bekäme und die Versionsnummer ....

Gruß Andreas

jaenicke 3. Jul 2013 09:23

AW: [Vista / UAC] Programm mit Adminrechten starten
 
Wenn dein Programmicon weg ist, sieht wahrscheinlich die .rc Datei zur Erzeugung der .res falsch aus. Hintergrund ist dann vermutlich, dass die Ressourcen-ID des Mainicons evtl. überschrieben wurde. Auch darf kein Ressourcenname (zumindest kein Icon) alphabetisch vor MAINICON kommen.

Oder du hast die .res Datei im gleichen Ordner liegen wie das Projekt, so dass Delphi die vor deinem Icon einbindet. (Die sollte immer in einem Unterordner liegen.)

Oder du hast die Einbindung der originalen .res aus Versehen entfernt.

Andreas Schilling 3. Jul 2013 11:06

AW: [Vista / UAC] Programm mit Adminrechten starten
 
Die Einbindung der originalen res habe ich nicht ausversehen sondern mit Absicht entfernt. Da in keinem Beispiel das ich zu dem Thema gefunden hatte zwei Ressourcen standen, habe ich angenommen, das nur eine gehen kann und das Original auskommentiert. Nun habe ich beide drinnen und "fast" alles ist OK. Wenn ich jetzt aus der Entwicklungsumgebung heraus das Programm starten will kommt die Fehlermeldung "Vorgang kann nicht erzeugt werden". Kompilieren und dann im Explorer die EXE starten geht aber.

Gruß Andreas

Edit: Die Fehlermeldung hat aber wahrscheinlich nichts mit der Res-datei zu tun. Auch nach dem Auskommentieren der Zeile kommt die Fehlermeldung.

jaenicke 3. Jul 2013 14:22

AW: [Vista / UAC] Programm mit Adminrechten starten
 
Die originale .res enthält das Icon und die Versionsinformationen, zudem noch diverse Standardicons für Buttons usw.

Zitat:

Zitat von Andreas Schilling (Beitrag 1220563)
Wenn ich jetzt aus der Entwicklungsumgebung heraus das Programm starten will kommt die Fehlermeldung "Vorgang kann nicht erzeugt werden".

Das liegt am Start als Admin. Einen Admin-Prozess kann man nur als Admin debuggen. Willst du also das Programm mit dem Debugger starten, musst du Delphi als Admin starten.

Andreas Schilling 3. Jul 2013 15:06

AW: [Vista / UAC] Programm mit Adminrechten starten
 
Ja das habe ich mittlerweile auch heraus bekommen nachdem ich nach der Meldung gegoogelt hatte.

Gruß Andreas


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:00 Uhr.
Seite 3 von 3     123   

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