Delphi-PRAXiS
Seite 2 von 5     12 34     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi In .ini ohne Adminrechte speichern? (https://www.delphipraxis.net/131565-ini-ohne-adminrechte-speichern.html)

DeddyH 26. Mär 2009 19:18

Re: In .ini ohne Adminrechte speichern?
 
Ich vermute einfach mal, dass Du die Ini ungefähr so erzeugst:
Delphi-Quellcode:
Ini := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'Ininame.ini');
Versuch es also mal mit einem anderen Verzeichnis.
Delphi-Quellcode:
uses SHFolder;

function GetUserdataPath(out sPath: string): Boolean;
begin
  SetLength(sPath,MAX_PATH);
  SHGetFolderPath(0,CSIDL_APPDATA,0,0,PAnsiChar(sPath));
  SetLength(sPath,StrLen(PAnsiChar(sPath)));
  Result := Length(sPath) > 0;
  if Result then
    sPath := IncludeTrailingPathDelimiter(sPath);
end;

Meflin 26. Mär 2009 19:19

Re: In .ini ohne Adminrechte speichern?
 
Zitat:

Zitat von AlexII
Und wie packe ich das ins User-Verzeichnis? :gruebel:

Steht doch ausführlichst in dem Link aus Beitrag #3 :roll:

AlexII 26. Mär 2009 19:23

Re: In .ini ohne Adminrechte speichern?
 
Ich kann doch einfach das Programm für alle Benutzer installieren, ist doch viel leichter und man brauch das Programm nicht umschreiben?

Aber wie mache ich das im Inno Setup Compiler, kann mir jemand sagen?

Meflin 26. Mär 2009 19:24

Re: In .ini ohne Adminrechte speichern?
 
Zitat:

Zitat von AlexII
Ich kann doch einfach das Programm für alle Benutzer installieren, ist doch viel leichter und man brauch das Programm nicht umschreiben?
Aber wie mache ich das im Inno Setup Compiler, kann mir jemand sagen?

Quatsch. Dann wirds eher noch komplizierter, weil jeder Benutzer seinen eigene Konfigurationsdatei braucht. An deinem Problem löst das rein garnichts!

AlexII 26. Mär 2009 19:30

Re: In .ini ohne Adminrechte speichern?
 
Zitat:

Zitat von Meflin
Quatsch. Dann wirds eher noch komplizierter, weil jeder Benutzer seinen eigene Konfigurationsdatei braucht. An deinem Problem löst das rein garnichts!

Wieso nicht? :gruebel: Hab sowas schon mal gesehen. Also alles ok, denk nicht so kompliziert. Sag mir lieber wie der Code im Inno dafür lautet?

Meflin 26. Mär 2009 19:35

Re: In .ini ohne Adminrechte speichern?
 
Zitat:

Zitat von AlexII
Wieso nicht? :gruebel: Hab sowas schon mal gesehen. Also alles ok, denk nicht so kompliziert. Sag mir lieber wie der Code im Inno dafür lautet?

Was verleitet dich zu der Vermutung, das würde dein Problem lösen? Hat dein Programm deswegen mehr Rechte? Speichert dein Programm seine Einstellungen deswegen in einem anderen Verzeichnis?

Die Antwort ist: Nein.

AlexII 26. Mär 2009 19:42

Re: In .ini ohne Adminrechte speichern?
 
Post #3 bleibt dann die einzige Lösung? :gruebel:

Ich komme mit dieser aber nicht klar, gibt's vllt andere Lösungen?

mkinzler 26. Mär 2009 19:50

Re: In .ini ohne Adminrechte speichern?
 
Was verstehst du den genau nicht?

AlexII 26. Mär 2009 20:02

Re: In .ini ohne Adminrechte speichern?
 
Also ich hab das bei mir wie folgt:

Delphi-Quellcode:
procedure TForm1.FormShow(Sender: TObject);
var ini :TIniFile;
begin
  Ini := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'config.ini');
  try
    ComboBox1.ItemIndex := Ini.ReadInteger('Default', 'Channel', 0);
    TrackBar1.Position := Ini.ReadInteger('Default', 'Volume', 10);
    cbDirectConnection.Checked := Ini.ReadBool('Default', 'Proxy', True);
    ed_ProxyServer.Text := Ini.ReadString('Default', 'ProxyIP', '');
  finally
    ini.free;
  end;
end;


procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var
ini: TIniFile;
begin
Ini := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'config.ini');
try
   Ini.WriteInteger('Default', 'Channel', ComboBox1.ItemIndex);
   Ini.WriteInteger('Default', 'Volume', TrackBar1.Position);
   Ini.WriteBool('Default', 'Proxy', cbDirectConnection.Checked);
   Ini.WriteString('Default', 'ProxyIP', ed_ProxyServer.Text);
finally
   Ini.Free;
end;
Action:=caFree;
end;
end;
Wo und was soll ich aus dieser Lösung hier einbauen? Und außerdem ist da im Code irgendwas falsch. Abgespeicher wird die Datei in
Delphi-Quellcode:
C:\Dokumente und Einstellungen\Alex\Lokale Einstellungen\Anwendungsdaten\Sebastian Jänicke\AppDir Testprojekt
ausgelesen aber in
Delphi-Quellcode:
C:\Dokumente und Einstellungen\Alex\Lokale Einstellungen\Anwendungsdaten
Diese Lösung muss man noch korrigieren und wenn ich sie nicht verstehe und nicht korrigieren kann, kann auch nicht weiter kommen.
Verzeiht, ich gebe mir richtig mühe... :pale:

Luckie 26. Mär 2009 20:05

Re: In .ini ohne Adminrechte speichern?
 
Zitat:

Zitat von Apollonius
Wenn man es richtig macht, sollte das eigentlich keine Sicherheitslücke sein.

Dann aber viel Spass, wenn mehrere Benutzer das Programm benutzen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:03 Uhr.
Seite 2 von 5     12 34     Letzte »    

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