Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Vista: Files im Programme-Verzeichnis umbenennen (https://www.delphipraxis.net/109945-vista-files-im-programme-verzeichnis-umbenennen.html)

ralfiii 10. Mär 2008 15:08


Vista: Files im Programme-Verzeichnis umbenennen
 
Hallo!

Wie muss ich die File-Rechte setzen, so dass meine Applikation ein paar bestimmte Files, die in ihrem Programme-verzeichnis installiert werden, umbenennen (eigentlich: in ein Unterverzeichnis verschieben) kann, ohne selbst Admin-Rechte zu besitzen?

Ich müsste Files von
C:\program files\MyApp\MyFile.DE
in
C:\program files\MyApp\sub\MyFile.DE
und umgekehrt "umbenennen".

Geht das u.U. generell nicht?

Danke,
Ralf

Olli 21. Jun 2008 22:29

Re: Vista: Files im Programme-Verzeichnis umbenennen
 
Das ist exakt was UAC verhindern will und soll. Warum mußt du Daten - denn warum würdest du sie sonst ändern wollen - dort lagern und nicht bspw. im Benutzerverzeichnis oder Anwendungsdaten?

Dezipaitor 22. Jun 2008 00:05

Re: Vista: Files im Programme-Verzeichnis umbenennen
 
Ich kann dir wirklich nur empfehlen, zu versuchen den Speicherort der Datei zu überdenken. Das Setzen der Dateisicherheit mag zwar mit der JWSCL rechte einfach gehen, jedoch übersieht man dabei, dass man ja noch Administrator sein muss. Aber wenn man Admin ist, dann kann man die Datei schon sowieso verschieben.

Gut, wenn die Datei nun einmal verschoben werden muss, dann kann man ein aufpoppen der UAC noch verschmerzen. Passiert das aber bei jedem Appstart, dann wird es schon kritisch.

Mach dir das Leben leicht und suche dir einen Ordner, wie z.B. "C:\Users\All Users".

ralfiii 23. Jun 2008 08:53

Re: Vista: Files im Programme-Verzeichnis umbenennen
 
Zitat:

Zitat von Dezipaitor
Ich kann dir wirklich nur empfehlen, zu versuchen den Speicherort der Datei zu überdenken.

Klingt ja gut, allerdings sind mir da ein wenig die Hände gebunden.
Es handelt sich bei den Files um die Sprach(Ressourcen)-Dateien zu einer Delphi-Applikation, und die müssen nun mal "neben" der Applikation-Exe liegen. Ich hab das Verschieben jetzt einfach gelöst indem ich einen Dienst geschrieben hab der das erledigt. Der hat ja immer Systemrechte.

RavenIV 23. Jun 2008 09:01

Re: Vista: Files im Programme-Verzeichnis umbenennen
 
Zitat:

Zitat von ralfiii
Zitat:

Zitat von Dezipaitor
Ich kann dir wirklich nur empfehlen, zu versuchen den Speicherort der Datei zu überdenken.

Klingt ja gut, allerdings sind mir da ein wenig die Hände gebunden.
Es handelt sich bei den Files um die Sprach(Ressourcen)-Dateien zu einer Delphi-Applikation, und die müssen nun mal "neben" der Applikation-Exe liegen. Ich hab das Verschieben jetzt einfach gelöst indem ich einen Dienst geschrieben hab der das erledigt. Der hat ja immer Systemrechte.

Bestimmt der falsche Weg.

Wie kommen die Files in das "falsche" Verzeichnis?
Da solltest Du ansetzen und sie gleich ins richtige Verzeichnis kopieren lassen.

ralfiii 23. Jun 2008 09:12

Re: Vista: Files im Programme-Verzeichnis umbenennen
 
Zitat:

Zitat von RavenIV
Bestimmt der falsche Weg.
Wie kommen die Files in das "falsche" Verzeichnis?
Da solltest Du ansetzen und sie gleich ins richtige Verzeichnis kopieren lassen.

Es sind Sprach-DLLs die bei der Installation in das Programmverzeichnis kopiert werden.
Das funktioniert auch prächtig.

Blöd wird's nur wenn ein Benutzer auf einem Rechner mit deutschen Windows und deutschen Sprachsettings die Anwendung in englisch haben will.
Die Exe enthält die englischen Ressourcen.
Wenn unter Borland/Locales in der Registry nix drin steht, probiert eine Borland-Exe immer, die Ressourcen automatisch aus der "richtigen" Sprach-DLL zu laden.
D.h. die Applikation würde die Ressourcen aus der .DE-Datei laden, wenn die da ist. Deshalb muss ich die Datei in diesem Fall verstecken.

Es gäbe noch den Workaround unter Borland/Locales statt ".EN" ".EXE" reinzuschreiben, dann würde die Applikation die Ressourcen zwingend aus den .EXE-Files laden, was auch funktionieren würde, wären in der Applikation nicht auch einige Com-Objekte involviert, von denen die Übersetzungs-ressourcen nicht in einem .Exe-File sondern in DLLs stecken.

RavenIV 23. Jun 2008 09:15

Re: Vista: Files im Programme-Verzeichnis umbenennen
 
Lass doch den User bei der Installation auswählen, ob er DE oder EN haben will.
Im Falle von EN soll der Installer die DE-Datei eben in das "Versteck" kopieren und nicht in den exe-Pfad.

ralfiii 23. Jun 2008 09:41

Re: Vista: Files im Programme-Verzeichnis umbenennen
 
Zitat:

Zitat von RavenIV
Lass doch den User bei der Installation auswählen, ob er DE oder EN haben will.
Im Falle von EN soll der Installer die DE-Datei eben in das "Versteck" kopieren und nicht in den exe-Pfad.

Mach ich eh so, das verschieben passiert nur wenn der Benutzer nach der Installation mal seine Meinung ändern sollte.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:18 Uhr.

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