Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Aus einem Programm ein anderes Programm unter Vista starten

0 views
Skip to first unread message

Peter

unread,
Feb 23, 2009, 3:52:13 PM2/23/09
to
Hallo,
ich habe zwei VFP-Programme, aus denen jeweils ein anderes Programm
gestartet wird.
Beide Programme laufen unter Vista.

Programm 1
Das Programm ruft mit "run/n" ein VB-Programm auf.
Das funktioniert tadellos.

Programm 2
Das Programm ruft mit "run/n" ein Delphi-Programm auf.
Wenn das VFP-Programm "als Administrator" gestartet wird, funktioniert auch
der Aufruf des Delphi Programmes.

Nun die eigentlichen Fragen:
1. Warum geht das mit einem VB-Programm ohne besondere Vorkehrungen ?

2. Gibt es eine Möglichkeit, das 2. Programm "normal" zu starten und erst
beim Aufrufen des Delphi-Programmes besondere Rechte einzuschalten. Wenn
dann ein Warnhinweis erscheinen würde, wäre das weniger störend, als wenn
das bei jedem Programmstart des VFP-Programmes erfolgen würde.

Danke

Matthias Kahlert

unread,
Feb 23, 2009, 7:17:51 PM2/23/09
to
Peter schrieb:

> 1. Warum geht das mit einem VB-Programm ohne besondere Vorkehrungen ?

Gegenfrage: Wozu braucht das Delphi-Programm Admin-Rechte? Da würde ich
eher ansetzen. Falls das nicht gewollt ist, guck mal die Versions-Info
in dem Programm an, wenn da etwa das Wörtchen "Setup" oder ähnliches
vorkommt, dann geht Vista einfach davon aus, dass Admin-Rechte notwendig
sein könnten.

> 2. Gibt es eine Möglichkeit, das 2. Programm "normal" zu starten und
> erst beim Aufrufen des Delphi-Programmes besondere Rechte einzuschalten.
> Wenn dann ein Warnhinweis erscheinen würde, wäre das weniger störend,
> als wenn das bei jedem Programmstart des VFP-Programmes erfolgen würde.

Guck Dir mal den DOS-Befehl "runas" an.

--
Matthias Kahlert
[MaxPro] Software
http://www.max-pro.de

Peter

unread,
Feb 23, 2009, 11:56:21 PM2/23/09
to
Hallo,
braucht das Delphi Programm Adminrechte ? Es wird ja gar nicht gestartet,
also bin ich davon ausgegangen, daß das VFP Adminrechte braucht ???
Hat das VFP Programm Adminrechrte, wird das Delphiprogramm doch ohne Mucken
gestartet

"Matthias Kahlert" <use...@max-pro.de> schrieb im Newsbeitrag
news:gnvebc$hdg$02$1...@news.t-online.com...

Olaf Doschke

unread,
Feb 24, 2009, 2:44:37 AM2/24/09
to
> braucht das Delphi Programm Adminrechte ? Es wird ja gar nicht gestartet,
> also bin ich davon ausgegangen, daß das VFP Adminrechte braucht ???
> Hat das VFP Programm Adminrechrte, wird das Delphiprogramm doch ohne
> Mucken gestartet

Aber das VFP Programm startet ja ohne Adminrechte.
Mit RUN /N, aber auch mit CreateProcess und
anderem startet ein Programm ein anderes mit
denselben Rechten, mit denen es auch läuft.

Und wenn das Delphi-Programm Adminrechte braucht,
startet es wohl deswegen nicht. Aber Deswegen würde
ich jetzt nicht Dein VFP Programm schon mit Adminrechten
anstarten. Das hat nämlich auch seine Gefahren:
Wenn in Deinem Programm z.B. ein File Open Dialog
kommt, kann der User damit nicht nur Dateien wählen,
er kann nicht nur Dateien sehen, die nur ein Admin
sehen darf, er kann aus dem Dialog heraus auch anderes
mit Adminrechten starten. Die Lösung ist dann, das
Delphiprogramm erst mit Adminrechten anzustarten, nicht
das VFP-Programm, insbesondere wenn es eben wirklich
ein administrative Programm ist. Ansonsten bleibt die
Frage offen, ob das Delphi-Programm nicht einfach nur
unsauber programmiert ist, z.B. ins ProgramFiles Verzeichnis
schreiben will o.ä. Und dann wäre die Frage, ob es
wirklich dieses Delphi-Programm sein muß.

Tschüß, Olaf.

Peter

unread,
Feb 24, 2009, 10:15:11 AM2/24/09
to
Hallo,
das Delphiprogramm macht momentan noch nichts. Man kann es starten und
beenden.
Es ist in D7 geschrieben. Es sollte in Programm sein, daß auf jeden Rechner
läuft, als ohne dotnet.
Klar, ich das VFP Programm auf gar keinen Fall mit Adminrechten starten, das
würden auf Dauer von allen wieder abgeschaltet werden.

Danke

"Olaf Doschke" <olaf.d...@t-aufderlinie.de> schrieb im Newsbeitrag
news:%23rAWAPl...@TK2MSFTNGP02.phx.gbl...

Peter

unread,
Feb 24, 2009, 1:46:39 PM2/24/09
to
Merkwürdig, das Delphi Programm braucht wirklich Adminrechte. Hm, soviel
habe ich doch gar nicht getrunken :-)
Nun habe ich es mit Shellexecute gestartet, und alles funktioniert.

Danke

svenkleinhenz

unread,
Nov 2, 2009, 8:10:11 AM11/2/09
to
Hallo zusammen,
kann das vielleicht am UAC liegen.
Habe ein ?hnliches Problem beim Start eines Scannertreibers aus einem FoxPro Programm heraus gehabt. Der Aufruf/Start wurde solange geblockt bis ich das UAC (User Access Control) abgeschaltet habe.

Peter wrote:

Aus einem Programm ein anderes Programm unter Vista starten
23-Feb-09

Hallo,
ich habe zwei VFP-Programme, aus denen jeweils ein anderes Programm
gestartet wird.
Beide Programme laufen unter Vista.

Programm 1
Das Programm ruft mit "run/n" ein VB-Programm auf.
Das funktioniert tadellos.

Programm 2
Das Programm ruft mit "run/n" ein Delphi-Programm auf.
Wenn das VFP-Programm "als Administrator" gestartet wird, funktioniert auch
der Aufruf des Delphi Programmes.

Nun die eigentlichen Fragen:
1. Warum geht das mit einem VB-Programm ohne besondere Vorkehrungen ?

2. Gibt es eine M?glichkeit, das 2. Programm "normal" zu starten und erst

beim Aufrufen des Delphi-Programmes besondere Rechte einzuschalten. Wenn

dann ein Warnhinweis erscheinen w?rde, w?re das weniger st?rend, als wenn
das bei jedem Programmstart des VFP-Programmes erfolgen w?rde.

Danke

Previous Posts In This Thread:

On Montag, 23. Februar 2009 15:52
Peter wrote:

Aus einem Programm ein anderes Programm unter Vista starten


Hallo,
ich habe zwei VFP-Programme, aus denen jeweils ein anderes Programm
gestartet wird.
Beide Programme laufen unter Vista.

Programm 1
Das Programm ruft mit "run/n" ein VB-Programm auf.
Das funktioniert tadellos.

Programm 2
Das Programm ruft mit "run/n" ein Delphi-Programm auf.
Wenn das VFP-Programm "als Administrator" gestartet wird, funktioniert auch
der Aufruf des Delphi Programmes.

Nun die eigentlichen Fragen:
1. Warum geht das mit einem VB-Programm ohne besondere Vorkehrungen ?

2. Gibt es eine M?glichkeit, das 2. Programm "normal" zu starten und erst

beim Aufrufen des Delphi-Programmes besondere Rechte einzuschalten. Wenn

dann ein Warnhinweis erscheinen w?rde, w?re das weniger st?rend, als wenn
das bei jedem Programmstart des VFP-Programmes erfolgen w?rde.

Danke

On Montag, 23. Februar 2009 19:17
Matthias Kahlert wrote:

Re: Aus einem Programm ein anderes Programm unter Vista starten
Peter schrieb:

Gegenfrage: Wozu braucht das Delphi-Programm Admin-Rechte? Da w?rde ich

eher ansetzen. Falls das nicht gewollt ist, guck mal die Versions-Info

in dem Programm an, wenn da etwa das W?rtchen "Setup" oder ?hnliches

vorkommt, dann geht Vista einfach davon aus, dass Admin-Rechte notwendig

sein k?nnten.


Guck Dir mal den DOS-Befehl "runas" an.

--
Matthias Kahlert
[MaxPro] Software
http://www.max-pro.de

On Montag, 23. Februar 2009 23:56
Peter wrote:

Hallo,braucht das Delphi Programm Adminrechte ?
Hallo,


braucht das Delphi Programm Adminrechte ? Es wird ja gar nicht gestartet,

also bin ich davon ausgegangen, da? das VFP Adminrechte braucht ???


Hat das VFP Programm Adminrechrte, wird das Delphiprogramm doch ohne Mucken
gestartet

"Matthias Kahlert" <use...@max-pro.de> schrieb im Newsbeitrag
news:gnvebc$hdg$02$1...@news.t-online.com...

On Dienstag, 24. Februar 2009 02:44
Olaf Doschke wrote:

Aber das VFP Programm startet ja ohne Adminrechte.
Aber das VFP Programm startet ja ohne Adminrechte.
Mit RUN /N, aber auch mit CreateProcess und
anderem startet ein Programm ein anderes mit

denselben Rechten, mit denen es auch l?uft.

Und wenn das Delphi-Programm Adminrechte braucht,

startet es wohl deswegen nicht. Aber Deswegen w?rde


ich jetzt nicht Dein VFP Programm schon mit Adminrechten

anstarten. Das hat n?mlich auch seine Gefahren:


Wenn in Deinem Programm z.B. ein File Open Dialog

kommt, kann der User damit nicht nur Dateien w?hlen,


er kann nicht nur Dateien sehen, die nur ein Admin
sehen darf, er kann aus dem Dialog heraus auch anderes

mit Adminrechten starten. Die L?sung ist dann, das


Delphiprogramm erst mit Adminrechten anzustarten, nicht
das VFP-Programm, insbesondere wenn es eben wirklich
ein administrative Programm ist. Ansonsten bleibt die
Frage offen, ob das Delphi-Programm nicht einfach nur
unsauber programmiert ist, z.B. ins ProgramFiles Verzeichnis

schreiben will o.?. Und dann w?re die Frage, ob es
wirklich dieses Delphi-Programm sein mu?.

Tsch??, Olaf.

On Dienstag, 24. Februar 2009 10:15
Peter wrote:

Hallo,das Delphiprogramm macht momentan noch nichts.


Hallo,
das Delphiprogramm macht momentan noch nichts. Man kann es starten und
beenden.

Es ist in D7 geschrieben. Es sollte in Programm sein, da? auf jeden Rechner
l?uft, als ohne dotnet.


Klar, ich das VFP Programm auf gar keinen Fall mit Adminrechten starten, das

w?rden auf Dauer von allen wieder abgeschaltet werden.

Danke

"Olaf Doschke" <olaf.d...@t-aufderlinie.de> schrieb im Newsbeitrag
news:%23rAWAPl...@TK2MSFTNGP02.phx.gbl...

On Dienstag, 24. Februar 2009 13:46
Peter wrote:

Merkw?rdig, das Delphi Programm braucht wirklich Adminrechte.
Merkw?rdig, das Delphi Programm braucht wirklich Adminrechte. Hm, soviel


habe ich doch gar nicht getrunken :-)
Nun habe ich es mit Shellexecute gestartet, und alles funktioniert.

Danke

EggHeadCafe - Software Developer Portal of Choice
XML Serializer Generator and Application Perfomance
http://www.eggheadcafe.com/tutorials/aspnet/8eb0e68f-5496-4363-9cb9-dd68447ba187/xml-serializer-generator.aspx

Olaf Doschke

unread,
Nov 2, 2009, 8:49:32 AM11/2/09
to
Ob ein UAC Dialog erscheint h�ngt davon ab, was in das aufgerufene Programm
als Manifest eingebettet ist, ob das aufgerufene Programm z.B. erh�hte
Rechte anfordert.
Per Standard wird ein Programm, was Du aus einer laufenden Applikation
anstartest auf demselben Rechtelevel gestartet. Dies beides hat nichts mit
der Sprache des aufrufenden oder aufgerufenen Programmes zu tun. F�r
Vista/Win7 sind das einfach zwei Prozesse, egal in welcher Sprache und daf�r
gibt es eben allgemeing�ltige Sprach�bergreifende Rechte-Regelungen.

Mir f�llt kein Grund ein, da� ein Scanprogramm erh�hte Rechte br�uchte,
schlie�lich ist Scannen ja eine Funktion, die typischerweise ein Normaluser
macht. Oder schreibt der Scanner beispielsweise seine Scans in C:\Programme?
Selbst wenn oder wenn das Programm Registry-Eintr�ge schreibt, w�rde erst
mal die Virtualisierung einschreiten, bevor ein UAC-Dialog nach einem
Admin-Login fragt.

Was man dagegen auf jeden Fall unternehmen kann ist das Starten eines neuen
Prozesses mit impersonierten User und erh�hten Rechten, aber das erfordert,
da� Deiner Applikation Kontoname, Domain und Passwort eines administrativen
Users bekannt ist, bzw. das vom aktiven User eben abfragen kann. RUN eignet
sich dazu nicht. WinAPI CreateProcessWithLogonW hat z.B. entsprechende
Parameter, mit denen Du den neuen Prozess von vornherein als ein
priviligierteren User starten kannst.

In dem Fall des Scanners w�rde ich mich erst einmal nach einem neueren
Treiber umsehen, der Vista's Security besser ber�cksichtigt.

Tsch��, Olaf.


0 new messages