AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Windows 7 Start einer Exe aus Programm blockiert
Thema durchsuchen
Ansicht
Themen-Optionen

Windows 7 Start einer Exe aus Programm blockiert

Ein Thema von zeras · begonnen am 21. Jan 2011 · letzter Beitrag vom 26. Jan 2011
Antwort Antwort
Seite 2 von 3     12 3      
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.633 Beiträge
 
Delphi 12 Athens
 
#11

AW: Windows 7 Start einer Exe aus Programm blockiert

  Alt 23. Jan 2011, 18:17
Nun habe ich das Programm auf dem Windows 7 Starter Rechner installiert.
Sowohl mit ShellExecute als auch mit CreateProcess geht es nicht ohne das Fenster "Benutzerkontensteuerung", obwohl noch im Admin Mode.
Wenn ich das 2. Programm dann per Hand im Explorer starte, kommt auch die Meldung. Irgendwie komisch. Bei XP gab es diese Abfragefenster nicht, obwohl ich nicht im Admin Mode war.

Möglicherweise kommt die Meldung, da es sehr hardwarenah programmiert sein muss wegen der Simulation??

Unterschied zwischen Admin und Nicht Admin. Beim Admin wird das Fenster zwar angezeigt, welches man bestätigen muss, beim normalen User muss man noch ein PW eingeben, wenn man weiter kommen will. Ist vielleicht auch logisch oder??
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain

Geändert von zeras (23. Jan 2011 um 18:27 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#12

AW: Windows 7 Start einer Exe aus Programm blockiert

  Alt 23. Jan 2011, 18:38
Was installierst du denn? - Normale Programme, die Delphi kompiliert, muss man nicht installieren, sondern erst einmal einfach an ihren Bestimmungsort kopieren.
Punkt 2: Haben die beiden Anwendungen irgendwelche Manifeste (sei es als Datei oder Ressource), die Admin-Rechte wollen?
Punkt 3: Was passiert, wenn du die Anwendung mit Rechtsklick->Als Administrator ausführen startest?

(Punkt 4 Mal angenommen, die Anwendungen haben keine Manifeste, die Admin-Rechte anfordern, was passiert, wenn du die Anwendungen als Nicht-Admin (ohne "Als Administrator starten") ausführst?

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.633 Beiträge
 
Delphi 12 Athens
 
#13

AW: Windows 7 Start einer Exe aus Programm blockiert

  Alt 23. Jan 2011, 19:36
Was installierst du denn? - Normale Programme, die Delphi kompiliert, muss man nicht installieren, sondern erst einmal einfach an ihren Bestimmungsort kopieren.
Das das Programm noch weitere Dateien mitbringt, habe ich eine Setuproutine geschrieben. Du hast recht, ich könnte auch alles ins Programmverzeichnis kopieren. Als Setup nutze ich INNO.

Punkt 2: Haben die beiden Anwendungen irgendwelche Manifeste (sei es als Datei oder Ressource), die Admin-Rechte wollen?
Das weiß ich nicht. Kann man das irgendwie rausfinden?

Punkt 3: Was passiert, wenn du die Anwendung mit Rechtsklick->Als Administrator ausführen startest?
Dann kommt auch das Fenster zum Bestätigen.

(Punkt 4 Mal angenommen, die Anwendungen haben keine Manifeste, die Admin-Rechte anfordern, was passiert, wenn du die Anwendungen als Nicht-Admin (ohne "Als Administrator starten") ausführst?
Bernhard
Dann kommt immer das Fenster Benutzersteuerung.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#14

AW: Windows 7 Start einer Exe aus Programm blockiert

  Alt 23. Jan 2011, 19:47
Das weiß ich nicht. Kann man das irgendwie rausfinden?
Sind das nicht deine eigenen Programme? - Ansonsten zuerst mal schauen ob es im gleichen Pfad wie die EXE eine Datei mit gleichem Namen + ".manifest" gibt. Diese mal umbenennen (dann ist kein Manifest mehr da) oder bei Delphi schauen, ob du (ältere Versionen) ein XPMan oder gar VistaMan als Komponente/Unit hast ODER (neuere Versionen) ob du was in den Projekt-Optionen eingestellt hast, was einen Namen ähnlich "Manifest" oder "Windows-Theme" hat.

Andere Frage: Die Anwendungen brauchen zwangsweise Admin-Rechte? - Also auch diejenige, die du nachlädst?

Noch ein anderer Punkt:  Err:= ShellExecute(0, Nil, PChar(fname), Pchar(para), Pchar(strtdir), SW_NORMAL); Das ist falsch. Du musst ein Verb (2. Parameter) angeben. Und zwar ist das "open" fürs öffnen und "runas" für Admin-Rechte (unter Windows >= Vista).

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.633 Beiträge
 
Delphi 12 Athens
 
#15

AW: Windows 7 Start einer Exe aus Programm blockiert

  Alt 23. Jan 2011, 20:53
Sind das nicht deine eigenen Programme? - Ansonsten zuerst mal schauen ob es im gleichen Pfad wie die EXE eine Datei mit gleichem Namen + ".manifest" gibt. Diese mal umbenennen (dann ist kein Manifest mehr da) oder bei Delphi schauen, ob du (ältere Versionen) ein XPMan oder gar VistaMan als Komponente/Unit hast ODER (neuere Versionen) ob du was in den Projekt-Optionen eingestellt hast, was einen Namen ähnlich "Manifest" oder "Windows-Theme" hat.
Das erste Programm (in Delphi geschrieben) ist von mir. Das dann aufgerufene Programm ist eigentlich nur ein EXE File, welches eine Visualisierung einer Steuerung auf dem PC nachbildet.

Andere Frage: Die Anwendungen brauchen zwangsweise Admin-Rechte? - Also auch diejenige, die du nachlädst?
Nein, dürfte eigentlich nicht sein, denn unter XP als normaler User habe ich keine derartigen Probleme.

Noch ein anderer Punkt:  Err:= ShellExecute(0, Nil, PChar(fname), Pchar(para), Pchar(strtdir), SW_NORMAL); Das ist falsch. Du musst ein Verb (2. Parameter) angeben. Und zwar ist das "open" fürs öffnen und "runas" für Admin-Rechte (unter Windows >= Vista).
Danke für den Tipp. Das muss ich noch mal in die Quelle schauen und gegebenenfalls korrigieren.

Kann es mit dem INNO zusammenhängen, da die Dateien durch INNO ins Programmverzeichnis kopiert werden? Dürfte aber eigentlich auch nicht sein, da es auf XP läuft ohne Admin und ich das gleiche Setup genutzt habe.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.633 Beiträge
 
Delphi 12 Athens
 
#16

AW: Windows 7 Start einer Exe aus Programm blockiert

  Alt 25. Jan 2011, 19:41
Du musst den Prozess mit CreateProcess starten damit die Rechte des startenden Prozesses vererbt werden. ShellExecute beauftragt die Windows Shell mit dem neu Starten. Und diese sorgt für neuerliche UAC-Prüfung/Abfrage.
Ich habe nun noch einmal alles testen können. CreateProcess brachte nicht den Erfolg. Aber durch Hinweise eines anderen Kollegen haben wir dann rausgefunden, dass man mit einem Windowsprogramm irgendwelche Sicherheitsrichtlinien erstellen kann, die dann mit dem Konsolenprogramm sdbinst dann in Windows eingespielt wird. Danach kam weder im Admin Mode, noch im normalen Usermode irgendein Benutzerkontensteuerungsfenster mehr. Damit sollte das Problem gelöst sein. Nun muss ich nur noch versuchen, diese Richtlinien in mein Setup (INNO) einzubauen.
Vielleicht hilft diese Info anderen Usern, die ähnliche Probleme haben.

Danke trotzdem für die Tipps.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#17

AW: Windows 7 Start einer Exe aus Programm blockiert

  Alt 26. Jan 2011, 13:51
Du hast nicht zufällig die UAC ausgehebelt? - Wenn dem so ist, würde ich das ganz schnell wieder rückgängig machen.

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.052 Beiträge
 
Delphi 12 Athens
 
#18

AW: Windows 7 Start einer Exe aus Programm blockiert

  Alt 26. Jan 2011, 14:08
ohne UAC ... hat was nicht die nötigen Rechte, dann wird es verboten

mit UAC ... hat was nicht die nötigen Rechte, dann wird versucht die nötigen Rechte anzufragen und dieses eventuell dann doch zu erlauben
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#19

AW: Windows 7 Start einer Exe aus Programm blockiert

  Alt 26. Jan 2011, 14:22
Mir kommt das etwas komisch vor. Wenn er sein Programm startet, will die UAC Admin-Rechte für das Programm durchsetzen. Jetzt nach einer Änderung im System will die UAC plötzlich keine Admin-Rechte mehr für das Programm durchsetzen und was am interessantesten ist: Laut Aussage des TE will die UAC auch dann keine Admin-Rechte abgesegnet bekommen, wenn das Programm im Admin-Modus ausgeführt werden soll.
Ich versuche daraus zu schließen, dass die UAC hier nicht mehr eingreifen soll. Ich glaube sogar, dass der Schluss richtig ist. Ansonsten sucht man das Admin-Problem nicht im System (bei irgendwelchen Sicherheitsrichtlinien), sondern in der Anwendung selbst. Die Sicherheitsrichtlinien sollte man nicht ändern (z.B. bei einer Installation), weil man dann z.B. die vom Sys-Admin gesetzten Regeln zufällig überschreiben könnte und dann den Sys-Admin in Bedrängnis bringen könnte (unbekannte Regeländerung -> unbekannte Sicherheitslücke??).

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.633 Beiträge
 
Delphi 12 Athens
 
#20

AW: Windows 7 Start einer Exe aus Programm blockiert

  Alt 26. Jan 2011, 18:58
Was wollt ihr mir damit sagen?
Darf man das nun oder eher nicht?
Das 2. Programm kann ich nicht ändern. So haben den Versuch unternommen mit dem SDBinst. Unser Admin auf Arbeit hat dann mittels eines MS Programmes eine spezielle Datei erzeugt, die genau dieses 2. Programm irgendwie freischaltet. Ich habe leider noch keine weiteren Informationen. Vielleicht komme ich am Wochenende an die Daten ran und dann würde ich wieder Bescheid geben, was da gemacht wurde.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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