Einzelnen Beitrag anzeigen

ZOD

Registriert seit: 6. Mai 2009
97 Beiträge
 
#1

fehlende Rechte nach EXE start auf WIN7

  Alt 21. Okt 2013, 17:30
Hallo zusammen,

ich bin nicht sicher, ob dies hier die richtige Rubrik ist ..

Ich habe:
(1) Eine Startroutine zur aktualisierung einer lokalen Installation meines Programmes,
Diese ist mit einem Manifest ausgestattet, so daß diese mit Admin-Privilegien gestartet wird. --> Das klappt, die Startroutine kopiert evt. Updates problemlos ohne Fehler.

(2) Ein Programm, welche von der Startroutine (nach dem Updaten) mittels CreateProcess gestartet wird --> das klappt auch. Nach dem Start des Programmes wird die Startroutine (1) beendet.
Beim CreateProcess sind die process security attributes und thread security attributes
jeweils nil, also müsste ich die Sicherheitsrichtlinien der Startroutine für das neue gestartete Programm übernehmen.

Nun das Problem:
Wenn auf einem Win7 Rechner jedoch das Programm (2) auf eine Datei mit den Attributen versteckt und schreibgeschützt zugreifen möchte, so klappt das nicht ("Datei nicht gefunden").
Wird das Programm (2) direkt durch einen Doppelklick gestartet, geht alles wunderbar.
Ebenfalls problemlos ist der Programmstart auf XP Rechner.
Ob eine Datei da ist oder nicht prüfe ich mittels GetFileAttributes wie z.B. in
http://www.delphipraxis.net/153617-f...st.htmlhttp://
beschrieben.

Mir scheint es so zu sein, daß beim Programmstart über die Startroutine der Benutzerkontext
und damit die Berechtigungen verschwinden - allerdings nur bei Win7.
Liegt es daran, daß die Startroutine beendet wird und dadurch dieser Kontext verschwindet?
Wenn ja - wie starte ich das Programm dann ohne dieses Problem aus der Startroutine heraus?

Hat jemand einen Vorschlag, wie ich der Sache auf den Grund gehen kann? Danke.

Ach ja: Ich arbeite hier mit D7
  Mit Zitat antworten Zitat