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

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 1 von 3  1 23   
zeras

Registriert seit: 11. Mär 2007
Ort: Langeneichstädt
1.087 Beiträge
 
Delphi 10.3 Rio
 
#1

Windows 7 Start einer Exe aus Programm blockiert

  Alt 21. Jan 2011, 18:12
Hallo,

ich habe ein Programm geschrieben, welches beim Start dann ein anderes Programm startet. Das läuft unter XP problemlos. Heute haben wir das auf einem Windows 7 Rechner installiert und gestartet. Es waren erst einmal Admin Rechte nötig, da es im Programmpfad installiert wurde. Das ist ja auch normal. Wenn ich dann aber das Programm gestartet habe und dann die Funktion zum Starten des anderen Programms nutzen wollte, kam wieder so eine Windows Anmeldung mit Paßwortabfrage.
Das zweite Programm befindet sich im selben Ordner wie das erste Programm.
Wie gesagt, der User hat keine Adminrechte. Nur zum Installieren wurde es von einem Admin installiert. Wer hat eine Idee? Kann ich da in Delphi etwas machen oder ist das reine Windows Angelegenheit?

Aufruf wie folgt:
Delphi-Quellcode:
 Err:= ShellExecute(0,
                      Nil,
                      PChar(fname),
                      Pchar(para),
                      Pchar(strtdir),
                      SW_NORMAL);
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
Ort: Oberreichenbach
16.399 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: Windows 7 Start einer Exe aus Programm blockiert

  Alt 21. Jan 2011, 18:26
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.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie
(Moderator)

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

AW: Windows 7 Start einer Exe aus Programm blockiert

  Alt 21. Jan 2011, 18:42
Was für ein Programm willst du starten?

Zitat:
Es waren erst einmal Admin Rechte nötig, da es im Programmpfad installiert wurde.
Und das verstehe ich nicht.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
34.931 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: Windows 7 Start einer Exe aus Programm blockiert

  Alt 21. Jan 2011, 18:56
Jupp, der Frage von Luckie schließe ich mich mit an.
Was für ein Programm soll denn gestartet werden und besitzt diese eventuell ein Admin-Manifest?
Und was passiert, wenn der Benutzer dieses Programm manuell startet?

@Bernhard:
Wenn der Benutzer der erste Programm ohne Adminrechte startet, dann besitzt das auch keine. es wird also mit den Rechten des jesweiligen Benutzers gestartet ... und wenn ShellExecute nun keine Rechte vererbt, dann wird das zweite Programm auch wieder mit den gleichen Benutzerrechten ausgeführt ... egal ob was vererbt wird.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Langeneichstädt
1.087 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: Windows 7 Start einer Exe aus Programm blockiert

  Alt 21. Jan 2011, 19:02
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.
Danke für den Tipp.
Programm ist schon geändert.
Nun muss ich nur wieder einen Rechner finden, der Windows 7 hat. Zu Hause arbeite ich immer noch mit XP und bin zufrieden damit.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
34.931 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

AW: Windows 7 Start einer Exe aus Programm blockiert

  Alt 21. Jan 2011, 19:09
Erstell dir im XP einen Benutzer ohne Adminrechte.

Das entspricht dann in etwa dem Win7 ohne UAC eines Benutzers ohne Adminrechte.
Wenn der Benutzer keine Adminrechte erhalten kann, dann bringt das UAC auch nichts, da er sich darüber ja sowieso keine passenden Rechte besorgen kann.
Für beim Programmverzeichnis müssen da natürlich auch ähnliche Rechte eingestellt sein.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie
(Moderator)

Registriert seit: 29. Mai 2002
37.020 Beiträge
 
Delphi 2006 Professional
 
#7

AW: Windows 7 Start einer Exe aus Programm blockiert

  Alt 21. Jan 2011, 19:10
Obwohl ich das noch nicht für die Lösung halte. Als was arbeitest du an deinem XP Rechner? Als Administrator?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Langeneichstädt
1.087 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: Windows 7 Start einer Exe aus Programm blockiert

  Alt 21. Jan 2011, 19:41
Obwohl ich das noch nicht für die Lösung halte. Als was arbeitest du an deinem XP Rechner? Als Administrator?
Ja, unter XP arbeite ich direkt als Admin.

Ich habe auf Arbeit auch einen XP Rechner ohne Admin und da läuft das ohne Probleme.

Also brauche ich doch einen Win7 Rechner zum Testen oder?


Jupp, der Frage von Luckie schließe ich mich mit an.
Was für ein Programm soll denn gestartet werden und besitzt diese eventuell ein Admin-Manifest?
Und was passiert, wenn der Benutzer dieses Programm manuell startet?
Das 2. Programm ist eine Simulation einer Visualisierung. Es muss mit Parametern aufgerufen werden. Ob das ein Admin-Manifest mitbringt, weiß ich nicht. Es wird auf jeden Fall mit der Installation mitgebracht. Dazu nutze ich Inno. Ich kopiere mit Inno beide Programme in das selbe Programmverzeichnis und starte dann im ersten Programm das 2. Programm mit Parametern.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain

Geändert von zeras (21. Jan 2011 um 20:08 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie
(Moderator)

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

AW: Windows 7 Start einer Exe aus Programm blockiert

  Alt 21. Jan 2011, 19:43
Oder ein Windows 7 in einer VM.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Langeneichstädt
1.087 Beiträge
 
Delphi 10.3 Rio
 
#10

AW: Windows 7 Start einer Exe aus Programm blockiert

  Alt 21. Jan 2011, 20:12
Oder ein Windows 7 in einer VM.
In der Firma bin ich ein normaler User, bringe aber meine Programme mit, die dann auf verschiedenen Rechnern installiert werden. Mein Admin hat mir schon angedeutet, dass er mir eine Windows 7 VM erstellen könnte. Das werde ich wohl nutzen müssen zum Testen.
Jetzt fällt mir ein, dass ich ein Netbook mit Win 7 Starter habe. Da sollte es ja vielleicht auch die gleichen Probleme machen, wenn ich kein Admin bin. Das werde ich am Wochenende mal testen mit ShellExecute und dann mit Createprocess. Ich werde weitere berichten, wie der Test ausgeht.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 06:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf