AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Starten einer Anwendung die Admin-Rechte benötigt (Vista)
Thema durchsuchen
Ansicht
Themen-Optionen

Starten einer Anwendung die Admin-Rechte benötigt (Vista)

Ein Thema von Bernhard Geyer · begonnen am 8. Dez 2006 · letzter Beitrag vom 9. Dez 2006
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.201 Beiträge
 
Delphi 10.4 Sydney
 
#1

Starten einer Anwendung die Admin-Rechte benötigt (Vista)

  Alt 8. Dez 2006, 14:00
Hi,

Ich habe eine Anwendung welche ohne Admin-Rechte läuft und mittels CreateProcess eine andere Anwendung startet:
Delphi-Quellcode:
FUNCTION ExecConsole(const sApp, sParams, sTitle: String;
                               wShow: Word): DWord;
var
  aSI : TStartupInfo;
  aPI : TProcessInformation;
  aProc : THandle;
begin
  Result := 1;
  FillChar(aSI, SizeOf(aSI), 0);
  aSI.cb := SizeOf(aSI);
  // Text für die Fensterzeile zuweisen
  aSI.lpTitle := PChar(sTitle);
  aSI.wShowWindow := wShow;
  if not CreateProcess(nil, PChar(sapp+sParams), nil, nil, False,
                       CREATE_NEW_CONSOLE OR NORMAL_PRIORITY_CLASS,
                       nil, nil, aSI, aPI) then
  begin
    Result := 0;
  end;
  aProc := aPI.hProcess;
  CloseHandle(aPI.hThread);
  CloseHandle(aProc);
end;
Diese andere Anwendung benötigt jedoch Administratorrechte und beim direkten Start dieser Anwendung über den Explorer kommt auch dieser beliebte Dialog ("Ein nicht identifiziertes Programm mächte auf den Computer zugreifen ...") unter Vista direkt hoch.

Was müsste ich anpasssen bzw. ergänzen das schon bei meiner ersten Anwendung diese Bestätigung kommt?
Wenn ich über das Kontextmenü des Explorers "Als Administator ausführen" geht es nämlich.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
uwewo

Registriert seit: 14. Jul 2004
Ort: Karlsruhe
479 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Starten einer Anwendung die Admin-Rechte benötigt (Vist

  Alt 8. Dez 2006, 14:26
Hallo Bernhard,

ich weiß nicht ob Dir das hilft, aber kannst Du beim starten deines Programms nicht die Adminrechte abfragen und diese Daten, an das externe Programm übergeben. Bzw. es könnte ja unetrdem gleichen Prozess laufen.

Uwe
Uwe
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Starten einer Anwendung die Admin-Rechte benötigt (Vist

  Alt 8. Dez 2006, 14:28
Starte den zwieten Prozess mit CreateProcesWithLogonW (http://www.michael-puff.de/Developer...thLogonW.shtml) und frag die Logindaten schon beim start des ersten Prozesses ab.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.201 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Starten einer Anwendung die Admin-Rechte benötigt (Vist

  Alt 8. Dez 2006, 14:55
Zitat von Luckie:
Starte den zwieten Prozess mit CreateProcesWithLogonW (http://www.michael-puff.de/Developer...thLogonW.shtml) und frag die Logindaten schon beim start des ersten Prozesses ab.
Nicht 100%ig das was ich suche. Der User ist ja (lokaler) Admin unter Vista, aber beim Start dieser ersten Anwendung bekommt der Prozess ja nur eingeschränkte Rechte. Ich will nun dieser Anwendung jetzt diese ander Anwendung starten kann ohne das Username + Passwort eingegeben werden muss. Diese Warnmeldung von Windows stört mich auch nicht, sondern nur das ich die anderer Anwendung nicht starten kann. Notfalls würde ich auch u.U. als Trick versuchen unter HKLM einen Schlüssel zu öffnen. Ist halt nicht die "Feine Art"
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.201 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Starten einer Anwendung die Admin-Rechte benötigt (Vist

  Alt 8. Dez 2006, 15:16
Denkste!

Man sollte doch nicht unter HKEY_LOCAL_MACHINE schreiben können mit diesen "Nicht-Admin-Rechten". Geht aber und man kann es auch schön wieder auslesen. Öffnet man aber regedit ist der Eintrag aber nicht vorhanden!!

Was für eine "Alles wird einfacher"-Lösung fährt MS hier mal wieder?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#6

Re: Starten einer Anwendung die Admin-Rechte benötigt (Vist

  Alt 8. Dez 2006, 15:26
Zitat von Bernhard Geyer:
Man sollte doch nicht unter HKEY_LOCAL_MACHINE schreiben können mit diesen "Nicht-Admin-Rechten". Geht aber und man kann es auch schön wieder auslesen. Öffnet man aber regedit ist der Eintrag aber nicht vorhanden!!
Soweit ich das gehört habe, gibt Windows keine Fehlermeldung mehr zurück, schreibt die Daten aber direkt in den HKU Zweig um oder - bei besonderen Keys - in einer gesonderten Abteilung, die dann nur das Programm entsprechend wieder auslesen kann und bearbeiten, welches diese Schlüssel eingestellt hat. Damit will man eine höhere Sicherheit erreichen - auch mit solchen Programmen, welche partout nicht darauf ausgelegt wurden in eingeschränkten Konten zu laufen.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.201 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Starten einer Anwendung die Admin-Rechte benötigt (Vist

  Alt 8. Dez 2006, 15:35
Zitat von Muetze1:
Zitat von Bernhard Geyer:
Man sollte doch nicht unter HKEY_LOCAL_MACHINE schreiben können mit diesen "Nicht-Admin-Rechten". Geht aber und man kann es auch schön wieder auslesen. Öffnet man aber regedit ist der Eintrag aber nicht vorhanden!!
Soweit ich das gehört habe, gibt Windows keine Fehlermeldung mehr zurück, schreibt die Daten aber direkt in den HKU Zweig um oder - bei besonderen Keys - in einer gesonderten Abteilung, die dann nur das Programm entsprechend wieder auslesen kann und bearbeiten, welches diese Schlüssel eingestellt hat. Damit will man eine höhere Sicherheit erreichen - auch mit solchen Programmen, welche partout nicht darauf ausgelegt wurden in eingeschränkten Konten zu laufen.
Grrrrrr. Wieder so eine genial MS-Idee.

Und wie bekomm ich jetzt hin das Vista den User diesen Dialog unter die Nase reibt bzw. das beim CreateProcess beim neuen Prozess dies abgefragt wird?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.201 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: Starten einer Anwendung die Admin-Rechte benötigt (Vist

  Alt 8. Dez 2006, 15:38
Zitat von Bernhard Geyer:
Zitat von Muetze1:
Zitat von Bernhard Geyer:
Man sollte doch nicht unter HKEY_LOCAL_MACHINE schreiben können mit diesen "Nicht-Admin-Rechten". Geht aber und man kann es auch schön wieder auslesen. Öffnet man aber regedit ist der Eintrag aber nicht vorhanden!!
Soweit ich das gehört habe, gibt Windows keine Fehlermeldung mehr zurück, schreibt die Daten aber direkt in den HKU Zweig um oder - bei besonderen Keys - in einer gesonderten Abteilung, die dann nur das Programm entsprechend wieder auslesen kann und bearbeiten, welches diese Schlüssel eingestellt hat. Damit will man eine höhere Sicherheit erreichen - auch mit solchen Programmen, welche partout nicht darauf ausgelegt wurden in eingeschränkten Konten zu laufen.
Grrrrrr. Wieder so eine genial MS-Idee.

Und wie bekomm ich jetzt hin das Vista den User diesen Dialog unter die Nase reibt bzw. das beim CreateProcess beim neuen Prozess dies abgefragt wird?
Gerade entdeckt. Es gibt einen VirtualStore-Zweig indem solche Infos geschrieben werden.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Starten einer Anwendung die Admin-Rechte benötigt (Vist

  Alt 8. Dez 2006, 15:58
Zitat von Bernhard Geyer:
Grrrrrr. Wieder so eine genial MS-Idee.
Richtig. Wohl der einzig mögliche Kompromiss zwischen der neuen Sicherheit und der Kompatibilität zu alten Programmen. Bitte immer erst mal etwas nachdenken bevor man los meckert. Microsoft wird sich das schon gründlich überlegt haben und ihre Lösung auch begründen können. Microsoft macht selten etwas, um ihre Kunden in dieser Hinsicht zu ärgern.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von MagicAndre1981
MagicAndre1981

Registriert seit: 4. Jun 2004
Ort: Nordhausen
2.214 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Starten einer Anwendung die Admin-Rechte benötigt (Vist

  Alt 8. Dez 2006, 16:20
du musst in deinem Programm noch eine Manifest-datei einbinden. Unter Vista muss man da noch eintragen mit welchen Rechten das programm laufen soll. In der MSDN findest du alles dazu.
André
"A programmer is just a tool which converts caffeine into code", daran wirds wohl liegen, dass ich Abends nie pennen kann

Zitat von Luckie:
Nicht nur dass ihr offtopic geworden seid, jetzt werdet ihr selber im Offtopic noch offtopic
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:37 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