Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi CopyFile() ohne Rechte in Vista? (https://www.delphipraxis.net/122511-copyfile-ohne-rechte-vista.html)

The Riddler 17. Okt 2008 10:13


CopyFile() ohne Rechte in Vista?
 
Hallo.

Leider habe ich kein Windows Vista zur Hand und kann daher mein Programm nicht testen. Ich meine mich zu erinnern das man unter Vista diverse Rechte braucht, um Dateioperationen wie CopyFile() oder DeleteFile() auszuführen. Mein Programm kopiert und löscht (durch den Benutzer) Dateien aus Programmordnern, also zum Beispiel C:\Programme\XXX. Wird CopyFile() und DeleteFile() unter Vista funktionieren oder werde ich Probleme mit Rechten bekommen?

Apollonius 17. Okt 2008 10:26

Re: CopyFile() ohne Rechte in Vista?
 
Für diese Ordner hat unter keinem Betriebssystem ein normaler Benutzer Zugriffsrechte.

The Riddler 17. Okt 2008 10:52

Re: CopyFile() ohne Rechte in Vista?
 
Mhm, also mit Admin-Rechten geht es. Jedenfalls sehe ich keine andere Möglichkeit, wie ich Dateien in den Programmordnern ändern kann. Gibt es eine? Kann ich also davon ausgehen, dass es unter Vista nicht gehen wird? Wie kann ich des dann realisieren?

Luckie 17. Okt 2008 11:27

Re: CopyFile() ohne Rechte in Vista?
 
Das geht schion unter NT nicht, wenn man nicht als Administrator angemeldet ist.

Was willst du denn für dateien im Porgrammverzeichnis ändern? Sollten es Konfigurationsdateien sein, gehören die dort nicht hin.

The Riddler 17. Okt 2008 12:03

Re: CopyFile() ohne Rechte in Vista?
 
Es sind unter anderem auch Konfigurationsdateien. Das die nicht dort hin gehören ist mir klar, machen kann ich dagegen nichts weil die zu verändernden Dateien zu Programmen gehören, die mir nicht gehören. ;)

D.h. ich bräuchte also Admin-Rechte für mein Programm? Wie kann ich die einholen?

Luckie 17. Okt 2008 12:08

Re: CopyFile() ohne Rechte in Vista?
 
Entwerder über den Explorer Kontextmenüeintrag "Ausführen als..." aufrufen oder übner die Konsole mit RunAs. Allerdings würde ich einfach die Rechte vom Programmverzeichnis so anpassen, dass auch nutzer mit Eingeschränkten Rechten dort schreiben dürfen. Und ich würde den Hersteller auf das Problem aufmerksam machen, damit er es eventuell beheben kann. Allerdings suche ich mir bei solchen Problemfällen meist ein anderes Programm. IconFX ist zum beispiel auch so ein Kanditat, der in das Programm verzeichnis schreiben will.

The Riddler 17. Okt 2008 12:19

Re: CopyFile() ohne Rechte in Vista?
 
Zitat:

Zitat von Luckie
Entwerder über den Explorer Kontextmenüeintrag "Ausführen als..." aufrufen oder übner die Konsole mit RunAs. Allerdings würde ich einfach die Rechte vom Programmverzeichnis so anpassen, dass auch nutzer mit Eingeschränkten Rechten dort schreiben dürfen.

Auf meinem PC mag das so gehen, bei den Anwendern meines Programmes wohl eher nicht. Wie kann sich das Programm selbst Admin-Rechte holen (vlt. auch in dem der User vorher gefragt wird ob er dies auch wirklich möchte)?

Alternativen sind leider nicht möglich. Und ich bezweifle auch, dass der Hersteller wegen mir kleinen Wurst seine komplette Software umstellen wird. ;)

Luckie 17. Okt 2008 12:30

Re: CopyFile() ohne Rechte in Vista?
 
Ja wie jetzt? Ich dachte, es wäre nicht dein Programm? Eventuell solltest du mal die Zusammenhänge etwas genauer erklären. ansonsten: Impersonate.

The Riddler 17. Okt 2008 12:35

Re: CopyFile() ohne Rechte in Vista?
 
Also nochmal:

Es gibt da ein Programm. Nennen wir es XYZ. Im Programmordner von XYZ gibt es z.B. ein Bild (also C:\Programme\XYZ\bild.jpg). Da dieses Bild nicht schön ist, soll dem User meines Programmes die Möglichkeit gegeben werden, dass Bild auzutauschen. Daher möchte ich die bild.jpg in dem Verzeichnis überschreiben.

jfheins 17. Okt 2008 12:41

Re: CopyFile() ohne Rechte in Vista?
 
Dann holst du dir mit deinem Programm Admin-Rechte (z.B. übers manifest) und tauschst das aus. Das Programm, dem das Bild gehört braucht ja nichts davon zu wissen, ergo braucht es auch keine Admin-Rechte ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:35 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