AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Konfigurationsdatei ini

Ein Thema von t0mmy · begonnen am 4. Aug 2010 · letzter Beitrag vom 7. Aug 2010
Antwort Antwort
Seite 1 von 2  1 2   
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#1

AW: Konfigurationsdatei ini

  Alt 4. Aug 2010, 22:11
Hallo,

dann hast du - wie die wenigsten - keine Schreibrechte auf C:\ und das ist auch gut so.[...]
Da muss ich dir leider widersprechen: Ich habe z.B. Schreibrechte auf C:\ Windows 7 mit UAC (auf höchster Stufe).

MfG
Fabian
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#2

AW: Konfigurationsdatei ini

  Alt 4. Aug 2010, 22:14
dann hast du - wie die wenigsten - keine Schreibrechte auf C:\ und das ist auch gut so.[...]
Da muss ich dir leider widersprechen: Ich habe z.B. Schreibrechte auf C:\ Windows 7 mit UAC (auf höchster Stufe).
Öhm ok. Und das, ohne auf "Zulassen" klicken zu müssen? Denn das fordert die Rechte dann natürlich an.

Ich ging davon aus, dass Microsoft das konsequent umgesetzt hat. Wieder was gelernt.
D.h. natürlich nicht, dass man die Daten auf C:\ speichern soll.
  Mit Zitat antworten Zitat
blackfin
(Gast)

n/a Beiträge
 
#3

AW: Konfigurationsdatei ini

  Alt 4. Aug 2010, 22:21
Zitat:
Ich habe z.B. Schreibrechte auf C:\ Windows 7 mit UAC
Und du bist nicht zufällig als Admin eingeloggt, dein Delphi-Programm startet aber nicht mit Admin-Rechten?
Du kannst nämlich als eingeloggter Admin auch mit aktivierter UAC auf dem C:-Root rumwerkeln wie du lustig bist und eine Datei erstellen, und das ganze ohne bösen Dialog, aber wenn dein Delphi-Programm nicht als Admin startet (was der standard ist), hat es keine Schreibrechte aufs C:-Root.

@t0mmy:
Probier mal, ob das Programm über Rechtsklick => Als Administrator ausführen... immer noch den Fehler erzeugt

Während der Laufzeit hast du keine Möglichkeit, die Rechte deines Programms per Code zu erweitern, das wäre auch gegen den Sinn des Rechte-Systems.
Du hast nun aber zwei drei Möglichkeiten, um dein Problem zu lösen:


1) Die grauslige Variante
#########################
Du forderst über ein Manifest generell Admin-Rechte beim Programm-Start für dein Programm an. Wie das geht, verrät dir die Suchfunktion.
Dann kannst du auch deine INI-Datei auf dem C-Root ablegen. Das halte ich aber für wirklich schlimm und ist nicht zu empfehlen.
Stell dir vor, alle Programme würden ihre Konfig-Einstellungen auf dem C:-Root ablegen? Wir leben doch nicht in der Steinzeit!

2) Die richtige Variante
########################
Du legst deine INI-Datei da ab, wo sie hingehört: Entweder in (einen Unterordner von) CSIDL_COMMON_APPDATA, oder Benutzer-bezogen in CSIDL_APPDATA.
Hierbei sei aber noch erwähnt, dass ein Programm ohne Admin-Rechte erstmal auch da keinen Schreibzugriff hat. Den Schreibzugriff auf einen Unterordner dieser beiden genannten Spezial-Verzeichnisse muss das Installationsprogramm des Programms freigeben, das ja normalerweise mit Admin-Rechten läuft und es somit auch kann. Das erfordert zwar etwas Mehraufwand, aber so ist es von Microsoft vorgesehen.

3) Die "Das ist mir alles zu kompliziert"-Methode (sozusagen Variante 1.1)
################################################## ##########################
Du baust kein Manifest ein und nimmst auch keinen Specialfolder, sondern verteufelst Microsoft wegen dem dämlichen Rechtesystem und sagst deinen Benutzern, sie sollen das Programm jedesmal über "Rechtsklick => Als Administrator ausführen..." starten, damit es keine AV gibt.
Nunja, was soll ich sagen....wer sowas macht, sollte vielleicht lieber Äpfel auf dem Stadtmarkt verkaufen

Ich lege dir die Variante zwei ans Herz, jeder User wirds dir danken!

Geändert von blackfin ( 4. Aug 2010 um 23:08 Uhr)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.882 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Konfigurationsdatei ini

  Alt 5. Aug 2010, 05:26
Oder Version Evil deluxe: Anwender auffordern Berechtigungen für die gesammte Platte zuzulassen
Markus Kinzler
  Mit Zitat antworten Zitat
t0mmy

Registriert seit: 28. Jul 2010
431 Beiträge
 
Delphi 2010 Architect
 
#5

AW: Konfigurationsdatei ini

  Alt 6. Aug 2010, 16:06
Hallo, sry das so lange gedauert hat, aber ich hab kurzzeitig kein inet gehabt.

Jetzt gehts aber wieder

Ja das mit ausführen als Admin geht, nur möchte ich das nicht!

Ich will einfach ein SChreibrecht auf C: haben das wär alles

achja das mit den SpecialFolders wird mir weniger helfen, denn der Ordner in dem ich die Datei schreiben will is auf C:\

Geändert von t0mmy ( 6. Aug 2010 um 16:09 Uhr)
  Mit Zitat antworten Zitat
blackfin
(Gast)

n/a Beiträge
 
#6

AW: Konfigurationsdatei ini

  Alt 6. Aug 2010, 16:09
Zitat:
Ja das mit ausführen als Admin geht, nur möchte ich das nicht!
Zitat:
Ich will einfach ein SChreibrecht auf C: haben das wär alles
Das schliesst sich gegenseitig aus!

Ausser, du nimmst mkinzler's Variante "evil Deluxe" (bitte nicht!)
  Mit Zitat antworten Zitat
t0mmy

Registriert seit: 28. Jul 2010
431 Beiträge
 
Delphi 2010 Architect
 
#7

AW: Konfigurationsdatei ini

  Alt 6. Aug 2010, 16:26


Gibt es denn eine möglichkeit Programmtechnisch das PRogramm als Admin laufen zu lassen?
Also nicht links-Klick --> Ausführen als Admin
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#8

AW: Konfigurationsdatei ini

  Alt 6. Aug 2010, 22:39
Moin Matze,
dann hast du - wie die wenigsten - keine Schreibrechte auf C:\ und das ist auch gut so.[...]
Da muss ich dir leider widersprechen: Ich habe z.B. Schreibrechte auf C:\ Windows 7 mit UAC (auf höchster Stufe).
Öhm ok. Und das, ohne auf "Zulassen" klicken zu müssen? Denn das fordert die Rechte dann natürlich an.[...]
Also ehrlich dumm bin ich nicht. Ähm nein, ich klicke auf "Neuer Ordner" und plubs ist da ein neuer Ordner.

Ich ging davon aus, dass Microsoft das konsequent umgesetzt hat. Wieder was gelernt.
D.h. natürlich nicht, dass man die Daten auf C:\ speichern soll.
Klar aber ich kenne ein Programm was davon „Gebrauch“ macht (und sich strickt dagegen wehrt die Anwendungsdaten o.ä. zu verwenden).

MfG
Fabian

PS: Und achte bitte auf das in der Klammer: Wenn ich in C:\Programme einen erstellen erscheint ein Dialog.
PPS: Und ja ich bin Administrator mit UAC. Aber Administrator mit UAC heißt doch nur, dass man kein Passwort brauch um Adminrechte zu bekommen.
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler

Geändert von xZise ( 7. Aug 2010 um 09:10 Uhr) Grund: Aussage ein bisschen entschärft.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Konfigurationsdatei ini

  Alt 7. Aug 2010, 06:26
Hallo,

aus #2

function getWinSpecialFolder(CSIDLFolder : integer) : string; Was als CSIDLFolder genommen werden soll, wurde bereits gesagt.

Ergebnis ist ein Pfad, in das das Programm auf jeden Fall schreiben kann.
Also noch den Ininamen hintendran und alles sollte funktionieren.

Wo ist das Problem ?


Heiko
Heiko
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.882 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Konfigurationsdatei ini

  Alt 7. Aug 2010, 07:09
Zitat:
Wo ist das Problem ?
Das er wohl partout ins Root von C: schreiben will
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz