Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Horror unter Vista -> Zugriff auf eigenes Programmverzeichni (https://www.delphipraxis.net/91900-horror-unter-vista-zugriff-auf-eigenes-programmverzeichni.html)

Stephan 11. Mai 2007 15:44


Horror unter Vista -> Zugriff auf eigenes Programmverzeic
 
Hallo,

Ich habe folgendes Problem unter Vista:

Ein paar Vorabinformationen:
Mein Programm besteht aus folgenden Dateien:

1. programm.exe
2. update.exe

wenn ich nun in der programm.exe das automatische Update anstoße, dann wird von der programm.exe (welche ohne Adminrechte läuft) eine Kopie der update.exe in das temporäre Verzeichnis abgelegt und diese Kopie gestartet. Anschließend beendet sich die programm.exe automatisch. Das Problem ist aber nun, dass die update.exe keinen Schreibzugriff mehr auf das ursprüngliche Programmverzeichnis hat und folglich kein AutoUpdate durchführen kann.

Hat einer von euch eine Idee, wie ich dieses Problem lösen kann?

OregonGhost 11. Mai 2007 15:55

Re: Horror unter Vista -> Zugriff auf eigenes Programmver
 
Das Updaten ist ja ein Installationsvorgang - insofern wäre es doch üblich, das Update-Programm mit Administratorrechten zu starten, oder? Z.B. indem man ein Manifest mitliefert, das Administratorrechte anfordert? Auf Anhieb finde ich dazu folgendes:
Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <v3:trustInfo xmlns:v3="urn:schemas-microsoft-com:asm.v3">
    <v3:security>
      <v3:requestedPrivileges>
        <v3:requestedExecutionLevel level="highestAvailable" />
      </v3:requestedPrivileges>
    </v3:security>
  </v3:trustInfo>
</assembly>
Habe es jedoch nicht damit ausprobiert.

sakura 11. Mai 2007 15:56

Re: Horror unter Vista -> Zugriff auf eigenes Programmver
 
Zitat:

Zitat von Stephan
Das Problem ist aber nun, dass die update.exe keinen Schreibzugriff mehr auf das ursprüngliche Programmverzeichnis hat

Das hat das Programm auch nicht. Wenn das Programm dort hinschreibt (und keine "Vista-ready" EXE ist, d.h. kein Vista-Manifest eingebunden ist), dann virtualisiert Vista die Zugriffe und schreib die in ein spezielles Verzeichnis des Users (z.B.: C:\Users\Username\AppData\Local\VirtualStore\Progr am Files).

Du musst die Update-Anwendung im administrativen Modus starten (ShellExecute als Parameter 2 'runas' übergeben).

...:cat:...

Stephan 11. Mai 2007 16:03

Re: Horror unter Vista -> Zugriff auf eigenes Programmver
 
Hallo,

Ich danke euch beiden!

@sakura: Ich habe deine Lösung getestet: funktioniert :) Vielen Dank! Ich glaub du hast mir damit echt den Abend gerettet - daher gebe ich dir hier mal ein (virtuelles) Bier aus :cheers:

sakura 11. Mai 2007 16:10

Re: Horror unter Vista -> Zugriff auf eigenes Programmver
 
Beachte bitte, das mein Tipp lediglich ein Quick'n Dirty Tipp ist, schau' Dir mal die Vista-Manifeste an, um das Problem elegant zu lösen ;)

...:cat:...

Stephan 11. Mai 2007 16:19

Re: Horror unter Vista -> Zugriff auf eigenes Programmver
 
Alles klar, danke für den Hinweis. Ich werde mir die Vista Manifests ansehen :)

Stephan 11. Mai 2007 17:15

Re: Horror unter Vista -> Zugriff auf eigenes Programmver
 
Jetzt frag ich nochmal ganz doof: Kennst du ein paar gute Quellen zu den Vista Manifests?

Stephan 12. Mai 2007 15:39

Re: Horror unter Vista -> Zugriff auf eigenes Programmver
 
Hallo,

Ich hab jetzt noch ein anderes Problem. Das Updateprogramm läuft nun unter Adminrechten. Allerdings soll das Updateprogramm zum Schluss das Hauptprogramm starten. Bei einem einfachen ShellExecute erbt jedoch das Hauptprogramm die Rechte des Updateprogramms - also Adminrechte. Das möchte ich natürlich nicht. Wie kann ich vom Updateprogramm das Hauptprogramm mit den Benutzerrechten des aktuell eingeloggten Benutzers starten?

Luckie 12. Mai 2007 16:01

Re: Horror unter Vista -> Zugriff auf eigenes Programmver
 
Zitat:

Zitat von Stephan
Ich hab jetzt noch ein anderes Problem.

;ach dazu bitte einen neuen Thread auf, sonst geht hier alles durcheinander. Danke.

SirThornberry 12. Mai 2007 16:44

Re: Horror unter Vista -> Zugriff auf eigenes Programmver
 
ich versteh folgenden Teil im Titel nicht: Horror unter Vista
Das man im Programmverzeichnis keine Schreibrechte hat war doch schon unter xp so hat also recht wenig mit Vista zu tun :gruebel: Oder in wie weit hat sich das seit Vista verschärft? (hab noch nix mit Vista zu tun gehabt, daher die Frage/das Unverständnis)


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:40 Uhr.
Seite 1 von 2  1 2      

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