AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi CodeSite Studio 5.3.2 funktioniert plötzlich nur mehr mit Administrator privileges!
Thema durchsuchen
Ansicht
Themen-Optionen

CodeSite Studio 5.3.2 funktioniert plötzlich nur mehr mit Administrator privileges!

Ein Thema von PeterPanino · begonnen am 20. Jul 2018 · letzter Beitrag vom 13. Aug 2018
Antwort Antwort
PeterPanino

Registriert seit: 4. Sep 2004
1.451 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: CodeSite Studio 5.3.2 funktioniert plötzlich nur mehr mit Administrator privilege

  Alt 20. Jul 2018, 22:06
CodeSite Controller Settings:

uno.png

due.png

tre.png

quattro.png

cinque.png
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.451 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: CodeSite Studio 5.3.2 funktioniert plötzlich nur mehr mit Administrator privilege

  Alt 20. Jul 2018, 22:18
Habe jetzt noch versucht:

- Zwischen 32-bit und 64-bit umzuschalten.

- CodeSiteLogging an anderen Stellen in der uses-Klausel.

Funktioniert immer noch nicht. Sieht aus, als ob der Dispatcher den Live Viewer nicht erreicht.
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.451 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: CodeSite Studio 5.3.2 funktioniert plötzlich nur mehr mit Administrator privilege

  Alt 20. Jul 2018, 22:34
Heureka!

CodeSite Studio 5.3.2 neu installiert: Funktioniert wieder!

Jetzt ist nur die Frage: War etwas bei den CodeSite-Programmdateien kaputt oder hat die Installation eines Komponenten-Packages gestern Abend etwas in der IDE verändert, was den Fehler in CodeSite verursachte?
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.451 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: CodeSite Studio 5.3.2 funktioniert plötzlich nur mehr mit Administrator privilege

  Alt 22. Jul 2018, 18:12
Fehlanzeige! Das wirkliche Problem hat sich jetzt mit Ray's Hilfe herauskristallisiert:

Wenn ein Programm, welches das erste Mal (in einer Windows Session) CodeSite messages sendet und damit den CSDispatcher startet, mit erhöhten Rechten läuft so wird auch der CSDispatcher mit erhöhten Rechten gestartet. Das blockiert aber jene CodeSite Messages, welche von einem Programm mit normalen USER-Rechten kommen. Deshalb wurden nur jene CodeSite messages im LiveViewer angezeigt, die von einem Programm mit erhöhten Rechten kommen, etwa wenn die IDE im Administrator-Modus gestartet wurde und die IDE dann wiederum ein Programm startet. (Übrigens funktioniert OLE Drag&Drop nicht bei einem Programm, das mit erhöhten Rechten läuft).

Das Ganze passierte deswegen, weil ich einen WinLogon TaskScheduler Task mit erhöhten Rechten erstellt hatte, der meine App ebenso mit erhöhten Rechten startete und diese App dann CodeSite messages sendete, die wiederum den CSDispatcher mit erhöhten Rechten starteten.

Zusammengefasst: Man muss nur darauf achten, dass der CSDispatcher NICHT mit erhöhten Rechten gestartet wird. Das kann man auf verschiedene Arten erreichen. Noch besser wäre es, wenn CodeSite selbst mit internen Maßnahmen dafür sorgen würde.

Auf jeden Fall ist jetzt die Ursache des Problem gefunden und das Problem kann umgangen werden.
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.451 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: CodeSite Studio 5.3.2 funktioniert plötzlich nur mehr mit Administrator privilege

  Alt 22. Jul 2018, 18:36
Hinzu kommt noch erschwerend der Umstand, dass man von einem Programm mit erhöhten Rechten nicht ein Programm (etwa sich selbst) ohne erhöhte Rechte starten kann, was m.E. ein Konzeptfehler von Windows ist, weil eine solche Möglichkeit keine Sicherheitsaspekte von Windows verletzen würde.

Um von einem Programm mit erhöhten Rechten ein Programm ohne erhöhte Rechte (etwa sich selbst) zu starten, musste ich deshalb in einem anderen Zusammenhang zu einem Trick greifen: Eine Windows-Nachricht an ein bereits laufendes Programm senden, das ohne erhöhte Rechte läuft, worauf dieses das gewünschte Programm ohne erhöhte Rechte startet.

Oder kennt jemand einen Trick, mit dem man das auf eine andere einfachere Weise erreichen könnte?

Geändert von PeterPanino (22. Jul 2018 um 18:40 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.690 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: CodeSite Studio 5.3.2 funktioniert plötzlich nur mehr mit Administrator privilege

  Alt 22. Jul 2018, 19:04
Oder kennt jemand einen Trick, mit dem man das auf eine andere einfachere Weise erreichen könnte?
Per Commandline Aufruf sollte das möglich sein, hier ein Batch Auszug:
cmd /min /C "set __COMPAT_LAYER=RUNASINVOKER && start "" %1"
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.451 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: CodeSite Studio 5.3.2 funktioniert plötzlich nur mehr mit Administrator privilege

  Alt 22. Jul 2018, 22:05
Per Commandline Aufruf sollte das möglich sein, hier ein Batch Auszug:
cmd /min /C "set __COMPAT_LAYER=RUNASINVOKER && start "" %1"
Hallo KodeZwerg,

vielen Dank für deinen genialen Gedanken!

Leider funktioniert es nicht so, wie ich es mir gewünscht habe.

Also, ich habe eine Batch-Datei "test.bat" mit diesem Inhalt erstellt:

Code:
cmd /min /C "set __COMPAT_LAYER=RUNASINVOKER && start "" F:\delphi\_test\StartUnelevatedProgramFromElevatedProgram\Win32\Debug\StartUnelevatedProgramFromElevatedProgram.exe"
Wenn ich diese Batch-Datei doppelklicke, wird wie gewünscht mein Programm gestartet. So weit so gut.

Nun versuche ich mal, das Ganze von meinem elevated Programm aus zu starten:

Delphi-Quellcode:
procedure TForm3.btnRestartNotElevatedClick(Sender: TObject);
begin
  JclShell.ShellExecEx('F:\delphi\_test\StartUnelevatedProgramFromElevatedProgram\Win32\Debug\test.bat');
  Close;
end;

procedure TForm3.FormCreate(Sender: TObject);
begin
  // wer MiTeC nicht hat, einfach einen anderen Code verwenden oder auskommentieren:
  if MiTeC_Routines.IsElevated then
    Self.Caption := 'Elevated'
  else
    Self.Caption := 'NOT Elevated';
end;
Ich starte also meine App mit höheren Rechten: KontextMenü im Windows-Explorer -> "Run as Administrator". Nach dem UAC prompt started dann die App elevated.

Dann klicke ich auf den Button: Das Programm startet die Batch-Datei, schließt sich selbst, und die App wird neu gestartet. Aber leider wieder elevated!

Im Anhang ist der Source-Code:

StartUnelevatedProgramFromElevatedProgram.zip
  Mit Zitat antworten Zitat
Antwort Antwort


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 21:31 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